Android Facebook API et ShareLinkContent
pour mon Application Android Jeu, j'ai mis en place un Bouton qui permet à l'utilisateur de partager le résultat d'un match.
J'ai intégré le Facebook SDK, de sorte que toutes les classes sont connues pour mon projet.
Le manifeste contient les tags suivants:
<meta-data android:name="com.facebook.sdk.ApplicationId"
android:value="@string/app_id" />
<provider android:authorities="com.facebook.app.FacebookContentProvider16..."
android:name="com.facebook.FacebookContentProvider"
android:exported="true"/>
Quand je lance l'application, je peux partager le résultat de la rencontre avec le code ci-dessous.
public void onShareResult(View view){
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
final ShareDialog shareDialog = new ShareDialog(this);
shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
Log.d(LOG_TAG, "success");
}
@Override
public void onError(FacebookException error) {
Log.d(LOG_TAG, "error");
}
@Override
public void onCancel() {
Log.d(LOG_TAG, "cancel");
}
});
if (shareDialog.canShow(ShareLinkContent.class)) {
ShareLinkContent linkContent = new ShareLinkContent.Builder()
.setContentTitle("Game Result Highscore")
.setContentDescription("My new highscore is " + sum.getText() + "!!")
.setContentUrl(Uri.parse("https://play.google.com/store/apps/details?id=de.ginkoboy.flashcards"))
//.setImageUrl(Uri.parse("android.resource://de.ginkoboy.flashcards/" + R.drawable.logo_flashcards_pro))
.setImageUrl(Uri.parse("http://bagpiper-andy.de/bilder/dudelsack%20app.png"))
.build();
shareDialog.show(linkContent);
}
}
Cependant, il ya certaines choses que je ne comprends pas.
- Le lien de partage est différent de ce que je vois dans la boîte de dialogue avant que je poste.
- Les Images semblent avoir été disponible via internet. c'est à dire qu'Il n'est pas possible de définir une image d'une ressource à partir de mon projet.
De plus j'ai quelques difficultés à comprendre ce que Facebook est exigeant.
C'est comment Facebook affiche mon message:
Et c'est ainsi que mon Application semblent post le contenu
La question est donc: Où est mon titre et la description disparu???
En ce qui concerne meilleur
Oliver
Hey @mustafasevgi, merci pour cette information. Cependant, il semble que cet exemple est uniquement sur l'accès à du contenu provenant de facebook de ne pas créer de contenu.
veuillez vérifier ma réponse.
OriginalL'auteur Oliver Koehler | 2015-04-10
Vous devez vous connecter pour publier un commentaire.
Donc, j'ai trouvé la raison de mon titre et la description n'était pas visible dans facebook.
Tout d'abord merci @mustafasevgi mais votre solution fait référence aux SDK 3.5.x, où j'ai essayé d'utiliser le SDK 4.0
De revenir à la solution...
J'ai découvert que j'ai mis en place mon Url du contenu de mon Application à l'intérieur de la Boutique Google Play. Si vous définissez une Url du contenu en dehors de Google Play Store le titre et la description ne sera pas remplacé.
J'ai mis le titre du contenu, la description du contenu et le contenu de l'url
ShareLinkContent linkContent = new ShareLinkContent.Builder() .setContentTitle("Game Result Highscore") .setContentDescription("My new highscore is " + sum.getText() + "!!") .setContentUrl(Uri.parse("https://play.google.com/store/apps/details?id=de.ginkoboy.flashcards"))
l'extrait ci-dessus dans la réponse est la même que dans le droit de la question ? Je ne trouve pas la réponse à cette question. Pourriez-vous s'il vous plaît aider moi
Pourriez-vous s'il vous plaît jeter un peu de lumière sur "Si vous définissez une Url du contenu en dehors de Google Play Store"
Si vous définissez une URL qui cible à la "play.google.com/store/apps..." le titre et la description seront prises directement à partir de la page cible. Si vous définissez une URL que des cibles à une url externe de la boutique google play, le titre et la description que vous avez entré dans votre ShareLinkContent.Constructeur() est considéré. Donc cela ne peut pas être résolu en changeant le code, mais plutôt de changer l'URL.
OriginalL'auteur Oliver Koehler
facebook sdk 3.X avec l'utilisation de ce code.Vous pouvez utiliser WebDialog.
OriginalL'auteur mustafasevgi
J'ai utilisé WebDialog système, mais j'ai ce message:
Ne peut pas utiliser SessionLoginBehavior SSO_WITH_FALLBACK lorsque com.facebook.LoginActivity n'est pas déclaré comme une activité dans AndroidManifest.xml
personne ne sait pourquoi?
<activity android:name="com.facebook.LoginActivity"...
Selon de Référence de LoginActivity vous devez déclarer LoginActivity dans votre manifeste:
<activity android:name="com.facebook.LoginActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:label="@string/app_name" />
OriginalL'auteur lordubik
vous pouvez utiliser setQuote("Une Chaîne de Description") méthode de ShareContent.Générateur de jeu de la citation à l'écran de votre lien.
Quelque chose comme ça
P. S. setTitle , setDescription et setImageUrl méthodes sont obsolètes maintenant dans les Dernières Facebook SDK
OriginalL'auteur Dishant Walia