Android接入微信SDK如何处理WXEntryActivity

微信接入WXEntryActivity 

  • 微信接入的官网:Android接入指南 | 微信开放文档
  • 微信SDK接入里面有这么一段说明:在你的包名相应目录下新建一个 wxapi 目录,并在该 wxapi 目录下新增一个 WXEntryActivity 类,该类继承自 Activity(例如应用程序的包名为 net.sourceforge.simcpux,则新添加的类如下图所示)

并在 manifest 文件里面加上exported、taskAffinity及 launchMode 属性,其中 exported 设置为true,taskAffinity设置为你的包名,launchMode设置为singleTask,例如:

<activity
    android:name=".wxapi.WXEntryActivity"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:exported="true"
    android:taskAffinity="填写你的包名"
    android:launchMode="singleTask">
</activity>

遇到的问题

  • 如果安装官网这样接入,你的应用包名永远不变化,就不会出什么问题,一旦我们包名变更,那么我们就需要重构WXEntryActivity 的包名路径,这是一件很麻烦的事情,如果我们是做SDK开发,里面集成了微信,把WXEntryActivity 的包名路径写死了的话,接入方就没法使用我们的微信功能了

解决问题

  • android的AndroidManifest.xml提供了一个activity-alias标签,也就是Activity的别名标签,activity-alias可以目标Activity申明一个别名,要启动目标Activity就可以通过启动别名Activity来启动,根据activity-alias标签的属性功能,我们就可以这样做
            <activity
                android:name="com.mypkg.wechat.WXEntryActivity"
                android:exported="true"
                android:launchMode="singleTask"
                android:taskAffinity="${applicationId}"
                android:theme="@android:style/Theme.Translucent.NoTitleBar" />
            <activity-alias
                android:name="${applicationId}.wxapi.WXEntryActivity"
                android:exported="true"
                android:targetActivity="com.mypkg.wechat.WXEntryActivity" />
  • 如果我们是做SDK开发的,com.mypkg.wechat.WXEntryActivity 这个类包名路径就可以写死了,直接将上面的配置打包为aar提供给接入方,接入方项目工程的build.gradle(app)配置的applicationId(即包名)会自动将AndroidManifest.xml中的${applicationId} 替换为设置的包名
  • 接入了很多SDK,他们的处理方式也是这样的比如B站、360、应用宝、爱奇艺、三星渠道SDK就是让我们按照类似上面的配置,因为他们聚合了微信SDK
  • 有兴趣了解activity-alias标签的作用的可以参考这篇文章activity-alias详解及应用_aspook的博客-CSDN博客_activityalias作用


 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity接入微信小游戏登录SDK需要进行以下步骤: 1. 下载微信小游戏登录SDK:首先,从微信开放平台下载微信小游戏登录SDK的Unity插件,该插件包含了与微信小游戏服务器通信所需的脚本和配置文件。 2. 导入SDK插件:打开Unity项目,在Assets菜单中选择“Import Package” -> “Custom Package”,选择刚下载的微信小游戏登录SDK插件进行导入。 3. 配置游戏参数:在Unity编辑器中,在“Project”视图下找到WXEntryMenu,并打开进行配置。在配置中,要填写自己的微信小游戏AppID和AppSecret等参数。 4. 创建登录按钮:在Unity场景中,创建一个按钮对象,并添加一个脚本用于处理微信小游戏登录逻辑。在该脚本的代码中,调用微信小游戏登录SDK的接口,实现登录功能。 5. 处理登录回调:微信小游戏登录SDK提供了登录结果回调函数,开发者需要在自己的脚本中进行处理。根据回调结果,可以获取到用户的openid、unionid等信息,进一步进行后续操作。 6. 测试登录功能:在Unity编辑器中,点击运行按钮,启动游戏。在游戏中点击登录按钮,会调起微信小游戏客户端进行登录。登录成功后,可以获取到用户的登录信息,并进行相应的游戏逻辑处理。 以上就是Unity接入微信小游戏登录SDK的基本步骤。开发者按照这些步骤进行操作,即可实现微信小游戏的登录功能,并在游戏中使用微信登录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值