适配Universal Links的QQ分享遇到的问题

  1. QQ分享出现设备未授权(错误码:25105)

    • 这是因为apple-app-site-association未配置互联路径

    • 配置了互联路径apple-app-site-association格式如下:

      { 
          "applinks": { 
              "apps": [], 
              "details": [{ 
                  "appID": "9JA89QQLNQ.com.apple.wwdc", 
                  "paths": ["*", "/qq_conn/2222222/*"] 
              }] 
          } 
      }
      
    • 其中要将appID改为自己的./qq_conn/2222222/*就是互联路径,要将2222222改为在QQ开放平台上创建应用后的appid

    • 参考文档链接:创建、填写及校验UniversalLinks

  2. 重复出现如下安全校验中的页面

    适配Universal Links的QQ分享遇到的问题_第1张图片
    DF879AA4-F06E-4690-BD75-AD0A34C6FBF2.png

  • 这个问题在QQ开发文档的Universal Links适配FAQ有描述,但坑爹的是,出现这种情况只是建议去检查Universal Links的有效性。

  • 其实按照前面写好的apple-app-site-association,然后在QQ开放平台填好的Universal Links验证通过就没问题。

    适配Universal Links的QQ分享遇到的问题_第2张图片
    1926DE53-3D1D-4D35-A6FF-AFCBE483EA16.png

    • 如果Universal Links 验证通过还出现这个问题就要检查下面这段代码是否按照Demo来写:

      - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray> * __nullable restorableObjects))restorationHandler NS_AVAILABLE_IOS(8_0);
      {
          // Demo处理手Q UniversalLink回调的示例代码
          if([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
              NSURL *url = userActivity.webpageURL;
              if(url && [TencentOAuth CanHandleUniversalLink:url]) {
                  UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"UniversalLink" message:url.description delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
                  [alertView show];
              #if BUILD_QQAPIDEMO
                  // 兼容[QQApiInterface handleOpenURL:delegate:]的接口回调能力
                  [QQApiInterface handleOpenUniversallink:url delegate:(id)[QQApiShareEntry class]];
              #endif
                  return [TencentOAuth HandleUniversalLink:url];
              }
          }
          return YES;
      }
      

你可能感兴趣的:(适配Universal Links的QQ分享遇到的问题)