0

我今天将 google play 服务库升级到最后一个,现在我有这样的错误:

警告:AppInviteApi 中的 [deprecation] getInvitation(GoogleApiClient,Activity,boolean) 已被弃用

当我阅读他们说的文档时

此接口已弃用。getInstance() 是访问动态链接数据的主要入口点,并使用 getInvitation(com.google.firebase.dynamiclinks.PendingDynamicLinkData) 从动态链接数据中获取 AppInvites 数据。

但我不明白如何转换我以前的代码:

AppInvite.AppInviteApi.getInvitation(mGoogleApiClient, mActivity, mAutoLaunchDeepLink)
  .setResultCallback(
    new ResultCallback<AppInviteInvitationResult>() {

      @Override
      public void onResult(AppInviteInvitationResult result) {

        if (result.getStatus().isSuccess()) {                
          Intent intent = result.getInvitationIntent();
          String deepLink = AppInviteReferral.getDeepLink(intent);
          String invitationId = AppInviteReferral.getInvitationId(intent);     
          if (mAppInviteInvitationResultListener != null) mAppInviteInvitationResultListener.onSuccess(deepLink, invitationId); 
        }
        else {              
          if (mAppInviteInvitationResultListener != null) mAppInviteInvitationResultListener.onError(2, 0);  
        }

        mGoogleApiClient.unregisterConnectionCallbacks(InvitationResult);
        mGoogleApiClient.unregisterConnectionFailedListener(InvitationResult);
        mGoogleApiClient.disconnect();

      }

    });

现在使用FirebaseAppInvite.getInvitation(...) ?

4

1 回答 1

3

请阅读以下链接上的“处理深层链接”块:- https://firebase.google.com/docs/dynamic-links/android/receive

它有一个下面的方法,你可以用它来转换你的代码

FirebaseDynamicLinks.getInstance()
        .getDynamicLink(getIntent())
        .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
            @Override
            public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
                // Get deep link from result (may be null if no link is found)
                Uri deepLink = null;
                if (pendingDynamicLinkData != null) {
                    deepLink = pendingDynamicLinkData.getLink();
                }


                // Handle the deep link. For example, open the linked
                // content, or apply promotional credit to the user's
                // account.
                // ...

                // ...
            }
        })
        .addOnFailureListener(this, new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception e) {
                Log.w(TAG, "getDynamicLink:onFailure", e);
            }
        });

我希望它能回答你的问题。如果您需要更多说明,请告诉我。

于 2018-04-05T09:45:06.323 回答