3

Я использовал ссылку Firebase Dynamics, и она может открыть мое приложение, перейти в магазин или перейти к URL-адресу. Но когда я передаю некоторые параметры через ссылку, я могу получить только первый параметр. Вот мои динамические ссылки:Передача нескольких параметров через Firebase Динамические ссылки Android

https://xx.app.goo.gl/?link=http://xx.com/?usn=abc&pass=def&apn=com.xx&afl=http://google.com 

И я использовал этот код, чтобы получить ссылку:

// Build GoogleApiClient with AppInvite API for receiving deep links 
     mGoogleApiClient = new GoogleApiClient.Builder(this) 
       .enableAutoManage(this, this) 
       .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(
         result -> { 
          if (result.getStatus().isSuccess()) { 
           // Extract deep link from Intent 
           Intent intent = result.getInvitationIntent(); 
           String deepLink = AppInviteReferral.getDeepLink(intent); 
           Logger.e(deepLink); 
          } 
         } 
       ); 

И журнал печать: http://xx.com/?usn=abc (пропуск = Def был потерян) Любых решить эту проблему?

ответ

7

Вы должны URL encode значения параметра link, в противном случае система не может сказать, что является параметром Dynamic Link и что является суб-В параметре от параметра Dynamic Link link.

Это означает, что конечный URL должен выглядеть https://xx.app.goo.gl/?link=http%3A%2F%2Fxx.com%2F%3Fusn%3Dabc%26pass%3Ddef&apn=com.xx&afl=http://google.com

Важное примечание: если вы (как я подозреваю) пытается передать имена пользователей и пароли через качестве открытого текста параметров канала, это невероятно плохая идея. Серьезно, не делаем этого. Прочтите this answer для правильного подхода к подобному требованию.

+0

Спасибо, я проверю. Usn/pass предназначен только для целей тестирования: D – maphongba008

+0

Он работает, большое спасибо. – maphongba008

+0

, пожалуйста, также помогите с подобным вопросом: http://stackoverflow.com/q/42119692/6144372 –

Смежные вопросы