2017-08-20 1 views
2

die Schaffung eines dynamischen LinkShortDynamicLink nicht kurzgliedrig für dynamische Links

DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink() 
      .setLink(Uri.parse("http://shaharapp.in/")) 
      .setDynamicLinkDomain("https://cuh8g.app.goo.gl/") 
      // Open links with this app on Android 
      .setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build()) 
      // Open links with com.example.ios on iOS 
      .buildDynamicLink(); 

    dynamicLinkUri = dynamicLink.getUri(); 

danach zu erzeugen, erhalte ich eine lange Dynamic Link. dieses dynamicLinkUri vorbei

Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink() 
      .setLongLink(dynamicLinkUri) 
      .buildShortDynamicLink(); 
    shortLinkTask.addOnCompleteListener(new OnCompleteListener<ShortDynamicLink>() { 
     @Override 
     public void onComplete(@NonNull Task<ShortDynamicLink> task) { 
      if (task.isSuccessful()) { 


       Uri shortLink = task.getResult().getShortLink(); 
       link_txt.setText(shortLink.toString()); 
      } 
      else { 

       ViewGroup container = (ViewGroup) findViewById(R.id.snackbar_layout); 
       Snackbar.make(container, "error", Snackbar.LENGTH_SHORT).show(); 

      } 
     } 
    }); 

Diese Aufgabe erledigt ist nicht auf shortLinkTask, nach dem Debuggen ich diese

com.google.android.gms.common.api.ApiException bekam: 7: Bad Request Klasse com.google.android.gms.common.api.ApiException

+0

Es ist auch aufgrund fehlender Konfigurationsschritte könnte -> https://stackoverflow.com/questions/45826742/cant-create-short-firebase- dynamic-link-dynamic-link-error-7-verboten –

Antwort

2

Was ist die lange Link Sie bekommen? Ich schlage vor, lange Verbindung zu versuchen und sicherzustellen, dass die Verbindung richtig funktioniert.

Fügen Sie auch &d=1 an lange Verbindung an. Ein solcher Link navigiert zur Debug-Seite mit möglichen angezeigten Fehlern/Warnungen.

Wenn Sie Ihren Code betrachten, ist ein möglicher Grund für einen Fehler das Format der Domain. Siehe Beispiel https://firebase.google.com/docs/dynamic-links/android/create. Domain erwartete String sein nur Domäne enthält, ohne https-Schema:

.setDynamicLinkDomain("abc123.app.goo.gl") 
+0

Stimmen Sie zu, dass das Korrigieren der Domänenzeichenfolge das Problem beheben sollte. –

+0

es funktioniert, vielen Dank – sam

Verwandte Themen