2017-10-11 122 views

回答

0

如果使用完全相同的參數在兩個設備上生成鏈接,它應該生成相同的鏈接。如果添加到鏈接的參數中有一個是特定於用戶/設備等的,則爲分支鏈接提供的值將會不同,因此會生成新的鏈接。此外,如果您在應用程序中使用setIdentity(),則每個創建的鏈接都將標記爲用戶標識,因此每次都會創建一個不同的鏈接。

例如:

final BranchUniversalObject branchUniversalObject = new BranchUniversalObject() 
       .setCanonicalIdentifier("1234") 
       .setTitle("Test for link") 
       .setContentIndexingMode(BranchUniversalObject.CONTENT_INDEX_MODE.PUBLIC) 
       .setContentDescription("Your friend has invited you to check out my app!") 
       .setContentImageUrl("https://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/Branch_Metrics_logo_color.png/1200px-Branch_Metrics_logo_color.png") 
       .addContentMetadata("var1", "abc") 
       .addContentMetadata("var2", "def"); 

LinkProperties linkProperties = new LinkProperties() 
       .setChannel("App") 
       .setFeature("Sharing") 
       .addControlParameter("$android_deepview", "branch_default"); 


branchUniversalObject.generateShortUrl(this, linkProperties, new Branch.BranchLinkCreateListener() { 
      @Override 
      public void onLinkCreate(String url, BranchError error) { 
       if (error == null) { 
        Log.v("url",url); 
       } 
       else { 
        Log.v("url",url); 
       } 
      } 
    }); 

上面將始終產生任何Android裝置上的相同的鏈路。但是,我在我的Android應用程序中使用Branch.getInstance().setIdentity(user_id),即使所有鏈接參數都相同,它也會生成新鏈接。

相關問題