0
votes

Comment ajouter différentes valeurs de ressource de chaîne pour différentes saveurs?

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!


0 commentaires

5 Réponses :


1
votes

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"
         }
}


0 commentaires

1
votes

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 :)


0 commentaires

-1
votes

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>


0 commentaires

-1
votes
        <meta-data android:name="com.facebook.sdk.ApplicationId"
            android:value="@string/facebook_app_id"/>

0 commentaires

0
votes

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


0 commentaires