2017-10-27 1 views
0

Ich möchte ein Verweis-System in meiner App mit Branch SDK implementieren. Ich möchte für jeden Benutzer eine kurze Verknüpfung mit meinem statischen benutzerdefinierten Endpunkt (https://app.link/ABC123) erstellen, die von anderen Benutzern gemeinsam genutzt werden kann. Ich kann dies tun, indem ich Alias ​​auf LinkProperties einstelle. Aber die Verwendung von Alias ​​mit BUO.showShareSheet gibt einen Fehler.Generieren Verweis kurze Links mit Branch SDK android

Kann ich einen Alias ​​mit BUO.showShareSheet verwenden?

Sollte der Canonical-Bezeichner für jede URL eindeutig sein?

Können mehrere Kanäle mit LinkProperties eingestellt werden?

Wird dieselbe URL jedes Mal generiert, wenn alle Argumente für BUO & LinkProperties gleich sind?

Antwort

1

1. Kann ich einen Alias ​​mit BUO.showShareSheet verwenden?

Sie können definitiv Alias ​​mit der ShowShareSheet-Methode verwenden. Hier ist der Code, den ich verwendet, um zu generieren und teilen sich einen Alias ​​Link

final BranchUniversalObject branchUniversalObject = new BranchUniversalObject() 
         .setCanonicalIdentifier("/1234") 
         .setTitle("Test for alias") 
         .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("Facebook") 
         .setFeature("Sharing") 
         .setAlias("aliastest"); 

       ShareSheetStyle ss = new ShareSheetStyle(MainActivity.this, "Check this out!", "This stuff is awesome: ") 
       .setCopyUrlStyle(ContextCompat.getDrawable(this, android.R.drawable.ic_menu_send), "Copy", "Added to clipboard") 
       .setMoreOptionStyle(ContextCompat.getDrawable(this, android.R.drawable.ic_menu_search), "Show more") 
       .addPreferredSharingOption(SharingHelper.SHARE_WITH.FACEBOOK) 
       .addPreferredSharingOption(SharingHelper.SHARE_WITH.EMAIL) 
       .addPreferredSharingOption(SharingHelper.SHARE_WITH.MESSAGE) 
       .addPreferredSharingOption(SharingHelper.SHARE_WITH.HANGOUT) 
       .setAsFullWidthStyle(true) 
       .setSharingTitle("Share With"); 

     branchUniversalObject.showShareSheet(this, linkProperties, ss, new Branch.BranchLinkShareListener() { 
      @Override 
      public void onShareLinkDialogLaunched() { 
      } 
      @Override 
      public void onShareLinkDialogDismissed() { 
      } 
      @Override 
      public void onLinkShareResponse(String sharedLink, String sharedChannel, BranchError error) { 
      } 
      @Override 
      public void onChannelSelected(String channelName) { 
      } 
     }); 

Bitte beachten Sie jedoch, wenn Sie versuchen, eine Verbindung mit dem gleichen Alias ​​und verschiedene Verbindungsparameter zu erzeugen, werden Sie einen Alias-Konflikt Fehlermeldung und Die showShareSheet-Methode würde Ihnen wiederum einen Fehler geben.

2. Sollte der Canonical-Identifikator für jede URL eindeutig sein?

Der Parameter canonicalIdentifier oder canonicalUrl verbessert die Content Analytics-Daten, die Branch erfasst, erheblich. Branch schlägt vor, dass es für diesen Teil des Inhalts einzigartig sein sollte. Dies wiederum hilft Branch bei der Deduplizierung über viele Instanzen derselben Sache. Geeignete Optionen: eine Website mit Pfadangabe oder eine Datenbank mit Identifikatoren für Entitäten.

3. Ist es möglich, mehrere Kanäle mit LinkProperties einzurichten?

Sie können nicht mehrere Kanäle für eine einzelne Verbindung festlegen. Der Channel-Tag wird verwendet, um die Route anzugeben, die Ihre Verknüpfung zu Nutzern führt. Daher kann es nur einen Kanal geben.

4. Wird dieselbe URL jedes Mal generiert, wenn alle Argumente für BUO & LinkProperties gleich sind?

Wenn alle BranchUniversalObject-Eigenschaften und Verbindungseigenschaften identisch sind, geben generateShortUrl und showShareSheet denselben Link zurück.

+0

Ich habe es versucht, mit Alias ​​mit sharesheest erstellt kurze URL nur einmal. Dann gibt es einen Fehler "Problem beim Erstellen einer URL. Es kann keine URL mit diesem Alias ​​erstellt werden. Wenn Sie den Alias ​​erneut verwenden möchten, stellen Sie sicher, dass dieselben Eigenschaften für alle Argumente übergeben werden und dass der Benutzer derselbe Besitzer ist." beim Auswählen anderer Optionen aus dem Dialogfeld. Aber, erstellt jedes Mal für die allererste ausgewählte Option. –

+0

@Amrutha Deshmukh –

+0

Beim Erstellen einer Verknüpfung über das Freigabeblatt Branch SDK fügt eine zusätzliche Linkeigenschaft "channel" mit dem Namen des Kanals hinzu, den der Benutzer ausgewählt hat, z. channel = Slack, wenn der Benutzer Slack aus dem shareSheet wählt.Auch wenn Sie die Kanaleigenschaft für Ihre Verknüpfung definieren, setzt das SDK von Branch diesen Wert außer Kraft. Derzeit gibt es keine Möglichkeit, einen Alias-Link zu erstellen, der das ShareSheet verwendet, um die Verknüpfung zu verschiedenen Plattformen freizugeben. Obwohl, volle Offenlegung, arbeite ich für Branch und habe das Thema dem Technikteam mitgeteilt. Sie prüfen diese Funktion und aktualisieren das SDK entsprechend. –

Verwandte Themen