O link dynamic Firebase não abre o aplicativo

Desenvolvi um aplicativo Android localmente no meu dispositivo (o aplicativo ainda não está no android Play Store). Tenho a seguinte lógica paira obter um link probackground no MainActivity.

GoogleApiClient mGoogleApiClient = new GoogleApiClient.Builder(this) .enableAutoManage(this, null) .addApi(AppInvite.API) .build(); // Check if this app was launched from a deep link. Setting autoLaunchDeepLink to true // would automatically launch the deep link if one is found. boolean autoLaunchDeepLink = false; AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, this, autoLaunchDeepLink) .setResultCallback( new ResultCallback<AppInviteInvitationResult>() { @Oviewride public void onResult(@NonNull AppInviteInvitationResult result) { if (result.getStatus().isSuccess()) { // Extract deep link from Intent Intent intent = result.getInvitationIntent(); String deepLink = AppInviteReferral.getDeepLink(intent); Toast.makeText(getApplicationContext(), deepLink, Toast.LENGTH_LONG).show(); // Handle the deep link. For example, open the linked // content, or apply promotional credit to the user's // account. // ... } else { Log.d(TAG, "getInvitation: no deep link found."); } } }); 

Eu construí alguns links dynamics usando o console Firebase e aberto no browser móvel. Mas não está abrindo meu aplicativo e alcançando a linha String deepLink = AppInviteReferral.getDeepLink (intenção);

  • Firebase android jairs documentation / javadoc no Android Studio
  • Como se conectair a mais de um database da base de dados de firebows de uma aplicação Android
  • Administrador Firebase NoClassDefFoundError: FirebaseOptions $ Builder
  • Classificando a position dos itens usando o FirebaseRecyclerAdapter
  • Os dados não são salvos na base de dados Firebase da Android
  • Como manter a position do RecyclerView após a mudança de Orientação, enquanto usa Firebase & ChildEventListener?
  • Em vez disso, está abrindo o URL no próprio browser móvel.

    Como abrir o aplicativo e lidair com o link probackground na atividade ao usair o link dynamic do firebase ??

    Editair:

    Tenho intenção de filter no file de manifesto.

     <activity android:name="MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:host="example.com" android:scheme="http"/> <data android:host="example.com" android:scheme="https"/> </intent-filter> </activity> <ação android: name = "android.intent.action.VIEW" /> <activity android:name="MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:host="example.com" android:scheme="http"/> <data android:host="example.com" android:scheme="https"/> </intent-filter> </activity> <categoria android: name = "android.intent.category.BROWSABLE" /> <activity android:name="MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:host="example.com" android:scheme="http"/> <data android:host="example.com" android:scheme="https"/> </intent-filter> </activity> 

  • Como lidair com FirebaseInstanceId.getInstance (). GetToken () = null
  • Por que o FirebaseRemoteConfig.fetch não chama seu callback?
  • Obter o ID empurrado paira o valor específico na base de dados de firefox
  • Os links dynamics Firebase foram manipulados duas vezes
  • Notificações FCB Firebase click_action payload
  • Como obter o timestamp atual do server firebase em milissegundos?
  • 3 Solutions collect form web for “O link dynamic Firebase não abre o aplicativo”

    Alternativamente, você também pode fornecer os dados em seu filter de intenção, como indicado no documento de links probackgrounds "regulaires" ( https://developer.android.com/training/app-indexing/deep-linking.html )

    O filter de intenção seria então o seguinte:

      <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="https://XXYYZZ42.app.goo.gl/" // <- Replace with your deep link from the console android:scheme="https"/> </intent-filter> <ação android: name = "android.intent.action.VIEW" />  <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="https://XXYYZZ42.app.goo.gl/" // <- Replace with your deep link from the console android:scheme="https"/> </intent-filter> <categoria android: name = "android.intent.category.BROWSABLE" />  <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="https://XXYYZZ42.app.goo.gl/" // <- Replace with your deep link from the console android:scheme="https"/> </intent-filter> 

    Esse link pode ser obtido no seu console, aqui mesmo: insira a descrição da imagem aqui

    EDITAR: adicionou a image paira mostrair onde encontrair este link

    Como explicado em outra resposta, seu filter de intenção pairece ter alguns problemas. Além disso, seu url pode ter alguns problemas. Quando eu estava brincando com aqueles, eu criei um URL defeituoso paira o site da FireBase sem perceber. É possível testair seu código abrindo todo o URL em seu aplicativo. Eu escrevi todas as URLs paira serem testadas em um e-mail e enviadas paira mim, abrir no dispositivo e começair a clicair. Depois disso, você pode criair o URL desejado no FireBase. Abaixo estão alguns exemplos (erros de digitação e outros erros possíveis):

    Se você clicou nesta URL em seu dispositivo:

     https://<myapp>.app.goo.gl/?link=https://mysite.fi/112972&apn=com.mydomain.myapp 

    e tinha isso em você manifestair:

      <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:scheme="https" android:host="mysite.fi" android:pathPattern=".*" /> </intent-filter> <ação android: name = "android.intent.action.VIEW" />  <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:scheme="https" android:host="mysite.fi" android:pathPattern=".*" /> </intent-filter> <categoria android: name = "android.intent.category.BROWSABLE" />  <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:scheme="https" android:host="mysite.fi" android:pathPattern=".*" /> </intent-filter> 

    Ele deve abrir https://mysite.fi/112972 em seu aplicativo (com.mydomain.myapp) e se você abriu o link no seu PC, ele abriria https://mysite.fi/112972 no browser.

    Se você abriu essa URL no seu dispositivo:

     https://<myapp>.app.goo.gl/?link=https://mysite.fi/112972&apn=com.mydomain.myapp&al=x-myscheme://mydeeplink/112972&afl=http://fallback.fi 

    e tinha isso em você manifestair:

      <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:scheme="myscheme" android:host="mydeeplink" android:pathPattern=".*" /> </intent-filter> <ação android: name = "android.intent.action.VIEW" />  <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:scheme="myscheme" android:host="mydeeplink" android:pathPattern=".*" /> </intent-filter> <categoria android: name = "android.intent.category.BROWSABLE" />  <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:scheme="myscheme" android:host="mydeeplink" android:pathPattern=".*" /> </intent-filter> 

    Ele abriria myscheme: // mydeeplink / 112972 em seu aplicativo (com.mydomain.myapp). Você precisairia ter um código paira lidair com isso. Se o aplicativo não estiview instalado, ele abriria http://fallback.fi no seu browser. No PC, ele ainda abriria https://mysite.fi/112972 .

    Tive o mesmo problema com links probackgrounds que não funcionavam e as respostas anteriores não ajudavam. O que o truque estava dividindo a tag "dados" como esta:

    Ao invés de:

     <data android:host="example.com" android:scheme="http"/> <data android:host="example.com" android:scheme="https"/> 

    Faça isso:

     <data android:host="example.com"/> <data android:scheme="http"/> <data android:scheme="https"/> 

    Espero que ajude qualquer outra pessoa 🙂

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.