Je suis un développeur iOS qui essaie d'apporter de petits changements du côté Android mais sans aucune idée de la façon de les réaliser. Mon objectif est d'implémenter le SDK Facebook dans l'application, selon la documentation officielle:
Dans /app/res/values/strings.xml, ajoutez un nouvel élément de chaîne:
<string name="facebook_app_id">Facebook App ID</string>
Ensuite, ajoutez dans le fichier AndroidManifest.xml de nouvelles méta-données comme ci-dessous:
<application android:label="@string/app_name" ...> ... <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/> ... </application>
Tout est compris mais mon problème est que j'ai peu de saveurs de produits sur la base desquelles je construis à la fin des applications autonomes, pour chacune, j'ai un Facebook App ID
différent. J'apprécierais toute sorte d'aide. Merci!
5 Réponses :
Vous pouvez créer plusieurs types de build ou saveurs de produits dans le fichier build.gradle au niveau de l'application, puis définir différentes chaînes pour chaque variante de build comme ceci
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
Vous pouvez maintenant accéder à cette chaîne dans le manifeste
buildTypes { prod{ resValue "string", "facebook_app_id", "your app id" } dev { resValue "string", "facebook_app_id", "your app id" } }
Il existe de nombreuses manières. Mais comme vous définissez déjà plusieurs saveurs dans build.gradle
au niveau de l'application, vous pouvez définir la chaîne là-bas comme ceci
android { buildTypes { flavour1 { buildConfigField "String", "facebook_app_id", "\"first facebook id 1\"" } flavour2 { buildConfigField "String", "facebook_app_id", "\"first facebook id 2\"" } } }
Il initialise automatiquement le facebook_app_id à la construction lorsque vous créez la construction de la saveur.
Bon codage :)
vous devez transmettre votre app_id facebook dans les fichiers de chaîne.
<string name="facebook_app_id">35166120881***</string> <string name="fb_login_protocol_scheme">fb35166120881****</string>
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
Dans build.gradle:
-src -appDev(folder) -java(folder) -res(folder) -values(folder) -appTest(folder) -java(folder) -res(folder) -values(folder)
Dans le dossier src:
créer un dossier avec le nom des saveurs
productFlavors { appDev { applicationId 'com.android.dev' } appTest { applicationId 'com.android.test' } } flavorDimensions "default"
dans le dossier de valeurs, vous pouvez créer des chaînes.xml chaque dossier agit comme une saveur différente