1

Je suis en train de mettre en place une application shopping.En ce qui concerne un produit partagé, il doit envoyer un lien dynamique de sorte que lorsqu'un internaute clique dessus, s'ouvre dans l'application uniquement. atteint cette fonctionnalité.Mais quand j'ouvre l'application à partir d'un lien dynamique partagé, je reçois la page d'accueil plutôt que la page produit.J'ai besoin d'aide pour obtenir la page du produit spécifique plutôt ouverture de la page d'accueil du shopping. Ici, j'inclus le code. AndroidManifest.xmlcomment mettre en place un lien dynamique vers une activité particulière dans l'application android

<activity android:name=".Postdetails"> 
<meta-data android:name="android.support.PARENT_ACTIVITY" android:value="MainActivity" /> 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW"/> 
      <category android:name="android.intent.category.DEFAULT"/> 
      <category android:name="android.intent.category.BROWSABLE"/> 
      <data android:host="postdetailsnew.com" android:scheme="https" 
      android:pathPattern=".*"/> 
     </intent-filter> 
</activity> 

PostDetails.java Voici la page PostDetails est la page de conception de produits unique ou activité .Dans ce que j'ai écrit le code suivant.

sharebutton.setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View v) { 
s="https://app_code.app.goo.gl/?link="+ProductLinkInBrowser+"&apn=com.example.maneesh.shop"; 
    Intent sendIntent = new Intent(); 
    sendIntent.setAction(Intent.ACTION_SEND); 
    sendIntent.putExtra(Intent.EXTRA_TEXT, s); 
    sendIntent.setType("text/plain"); 
    startActivity(sendIntent); 
    } 
} 
FirebaseDynamicLinks.getInstance().getDynamicLink(getIntent()) 
    .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() { 
    @Override 
    public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) { 
    // Get deep link from result (may be null if no link is found) 
    Uri deepLink = null; 
    if (pendingDynamicLinkData != null) { 
    deepLink = pendingDynamicLinkData.getLink(); 
    FirebaseAppInvite invite=FirebaseAppInvite.getInvitation(pendingDynamicLinkData); 
         if(invite!=null){ 
          String invitationId=invite.getInvitationId(); 
         } 
        } 
       } 
      }) 
      .addOnFailureListener(this, new OnFailureListener() { 
       @Override 
       public void onFailure(@NonNull Exception e) { 
        Log.w("Heyy", "getDynamicLink:onFailure", e); 
       } 
      }); 

app Voici enfin la page principale est ouverte avec lien dynamique, mais pas la page de produit spécifique qui est shared.Please me guider pour y parvenir.

Répondre

2

Vous devez analyser l'URL dans le lien dynamique et déclencher l'intention d'envoyer l'utilisateur à la partie droite de votre application. Généralement, le programme d'écoute des liens dynamiques est configuré dans votre activité principale et acheminera à partir de là vers des besoins spécifiques. La variable deepLink dans votre code sera l'URL que vous avez passée dans le lien dynamique, comme http://yourshop.com/product/12345. Vous pouvez appeler deepLink.getPath() qui vous retourner produit/ 12 345, puis le feu et l'intention pour cela, par exemple:

String path = deepLink.getPath(); 
String[] parts = path.split("/") 
if (parts[0] == "product") { 
    Intent intent = new Intent(this, PostDetails.class); 
    intent.putExtra("productid", parts[1]); 
    startActivity(intent); 
}