APP 配置微信回复通知

tips 说明

用户通过微信通知,第一时间收到你的回复通知,让你与用户的沟通更高效。

第一步:设置 webView 允许拉起微信

有的 webview 会禁止拉起第三方的 app,无法打开微信。这时需要修改 webview 的配置,允许其拉起微信。

  • h 文件
  • h 文件当中需要加入代理 WKNavigationDelegate
@interface ViewController : UIViewController <WKNavigationDelegate>

@end
  • m 文件

在文件头当中加入代理

@interface ViewController () <WKNavigationDelegate>

@end

在代理的 webView:decidePolicyForNavigationAction:decisionHandler: 函数中添加如下代码

NSString *urlString = navigationAction.request.URL.absoluteString;
    NSURL *url = [NSURL URLWithString:urlString];
    if([urlString hasPrefix:@"weixin://"]) {
        Boolean canOpenUrl = [[UIApplication sharedApplication] canOpenURL:url];
        if(canOpenUrl) {
            NSLog(@"已安装微信");
            [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];
            //允许跳转
            decisionHandler(WKNavigationActionPolicyAllow);
        }else {
            NSLog(@"尚未安装微信");
            //不允许跳转
            decisionHandler(WKNavigationActionPolicyCancel);
        }
    }else {
        //允许跳转
        decisionHandler(WKNavigationActionPolicyAllow);
    }

info.plist 文件

在 info.plist 文件当中加入如下代码

<key>LSApplicationQueriesSchemes</key>
    <array>
        <string>weixin</string>
    </array>
WebViewClient webViewClient = new WebViewClient() {
      @Override
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
          super.shouldOverrideUrlLoading(view, url);

          if (url == null) {
              return  false;
          }
          try {
              if (url.startsWith("weixin://")) {
                  Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                  view.getContext().startActivity(intent);
                  return true;
              }
          } catch (Exception e) {
              return false;
          }
          view.loadUrl(url);
          return true;
      }
  };
  appWebView.setWebViewClient(webViewClient);

第二步:测试微信通知是否成功

1、移动端兔小巢发帖成功后,弹出确定框,点击「开通微信提醒」。

step1

2、进入微信授权,点击「确认接收」。

step2

3、管理员回复该贴后,发帖用户收到微信公众号“腾讯兔小巢”推送的回复通知,即为测试成功。

step3

第三步:将测试调用链接替换为正式调用链接

修改接入的 url 地址,新增参数 d-wx-push=1

比如:http://support.qq.com/embed/9999?d-wx-push=1