创建第三方平台(微信,QQ)应用

128 阅读3分钟

背景

大部分社交平台进行分享、登录操作首先需要在第三方平台创建应用并提交审核,创建应用后,分享、登录操作时显示的应用icon、名称和对应开放平台设置有关,必须要创建应用的平台为:微信、QQ、新浪、钉钉、企业微信、支付宝、Facebook、Kakao、LinkeIn、Twitter,创建应用方法请参考文档

微信开放平台

微信开放平台

踩坑

问题描述:创建应用,保存提示“请先认证微信开放平台帐号主体再提交申请”问题。

问题定位:通过查看官方文档,未进行认证主体或者认证主体审核未通过导致的。

解决问题方案:参考官方文档,先进行open认证流程。

open认证流程

image.png

QQ开放平台

添加包名和签名

获取Android app包名

包名又称Package Name,是应用程序在android系统中的唯一ID标识,获取方法如下:打开AS,导入app 的工程,打开AndroidManifest.xml文件,或者查看build.gradle中applicationId

获取Android应用的APK文件签名

  1. 在android设备上安装最新版本的获取签名应用「应用下载

注意:开放平台上的“签名获取工具”点击没响应,可以通过「应用下载」获取。但是安装apk还是提示版本太低,不能使用。

  1. 只有APK文件的情况下

    1. 首先将你的项目打包,一定要使用签名文件打包成release版本的apk文件。
    2. 将你的apk文件后缀修改成rar文件,解压。
    3. 在解压后的文件中找到META-INF文件,该目录下会存在CERT.RSA文件。
    4. 在META-INF目录下打开cmd(按住Shift,点击鼠标右键),输入命令 :keytool -printcert -file CERT.RSA,就可以在CMD命令窗口中看到签名文件的信息了,其中包括了SHA1值和MD5值。
  1. 有签名文件 并且知道密码

在jks签名文件目录下打开cmd(按住Shift,点击鼠标右键),输入命令 :keytool -list -v -keystore xxx.jks,就可以在CMD命令窗口中看到签名文件的信息了,其中包括了SHA1值和MD5值。

  1. 使用Gradle Tasks

这种方法适合有源码的情况, 操作非常的简单

./gradlew signingReport

image.png

其他

分享功能存储权限适配

Android常见问题

配置第三方平台应用信息

微信

登录微信开放平台,填写相关应用信息,审核通过后获取到微信AppID及AppSecret,如果需要微信登录功能,需要申请微信登录权限,注意微信登录有效期为一年,需要按时在微信平台认证

以注册iOS应用为例:

image.png bundle ID设置需要和工程一致

image.png 里上传的图标最后会显示为分享消息脚本icon和登录页面的应用icon

QQ

QQ及QQ空间(Qzone)使用同一个AppID及Appkey,登录QQ开放平台,选择iOS应用或者安卓应用

image.png 关应用信息并提交审核,未审核前通过只能使用测试账号

image.png 里上传的图标最后会显示为分享消息脚本icon和登录页面的应用iconQQ初始化appId说明:U-Share SDK为了兼容大部分平台命名,统一用appKey和appSecret进行参数设置,而QQ平台仅需将appID作为U-Share的appKey参数传进即可。例如iOS Demo中的示例代码:

    /* 设置QQ互联appKey */
    NSString *qqAppID = @"xxxx";
    [[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_QQ appKey:qqAppID  appSecret:nil redirectURL:nil];

说明 :若不进行appId初始化可能会报错:App is not registed。