unity逆向集成友盟分享

项目上线前,升级友盟分享的插件至新版本,发现android部分需要配置工程中各项内容,意味着每次打新版都需要多一系列步骤,实在是太蠢了,在客服联系过友盟后,明确表示不支持Unity下plugin的方式,在一系列决定之后,决定逆向来把这些步骤集成至Unity项目中。


[集成文档](http://dev.umeng.com/social/unity3d/android)

仔细观察需要导入的src下的文件后,发现主要分为三块内容

  • socialsdk桥接文件
  • 项目各个平台初始化及Key值注册(之前版本是在Unity进行初始化)
  • wxapi下微信的回调
    其中后两项是在项目包下

socailsdk集成

首先创建一个空的android-lib项目
android create lib-project --name UmengPlugin --target X --path ./UmengPlugin --package com.umeng.socialsdk

将src拷入项目中(com.umeng.socialsdk包,其他的不用打在这个项目中)


lib中引用包

最后修订一下build.xml,在project的tag下新增
<target name="jar" depends="debug"> <jar destfile="bin/SocialSDK.jar" basedir="bin/classes"/> </target>

最后在项目目录下用ant jar就能编译了


编译结果

初始化

集成文档中是放在App.java中,并在AndroidManifest中新增一个application,死活初始化不成功,干脆直接做成静态方法主动在unity侧调用更加方便,这里我图省事直接放在UMSocialSDK.java里了,当然也可以新建一个工程,一样的。
//init import com.umeng.socialize.Config; import com.umeng.socialize.PlatformConfig;
public static void initWeChat(){ Config.shareType = "u3d"; UMShareAPI.get(mActivity); Config.DEBUG = true; PlatformConfig.setWeixin("wx11111fff111111bb", "11111111111111111111111111111111111"); }

微信回调

这里新开一个项目,注意包名与自身项目一致,并在AndroidManifest中新增这个activity
<activity android:name=".wxapi.WXEntryActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" />

包引用情况

将两个jar包放入Plugins\Android\目录下,如果是由旧版本升级还需整理一下,可以参考升级文档
否则会编译会有冲突。
再修订一下Social.cs
public static void Authorize(Platform platform, AuthDelegate callback=null){ \#if UNITY_ANDROID try { UMSocialSDK.CallStatic("initWeChat"); //下面这句要屏蔽掉。。。 //SetPlatforms(new Platform[] { platform }); Run(delegate { var androidAuthListener = new AndroidAuthListener(callback); //UMSocialSDK.CallStatic("fuckUmeng"); UMSocialSDK.CallStatic("authorize", (int)platform, androidAuthListener); }); } catch(AndroidJavaException exp) { Debug.LogError(exp.Message); } }

结果如下

最后友盟这半吊子的SDK实在是无力吐槽了。。。

  • umeng_social_sdk v6.4.2
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,608评论 25 708
  • 获取SDK 下载SDK操作流程 下载SDK最新版 如下图所示: SDK组件说明 根据需要,选择自己需要的平台、精简...
    极简coder阅读 2,293评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,997评论 19 139
  • 昨晚接到表妹霞霞(她舅舅的女儿)的电话,说今早过来她们家拜年。她早上起了个早,刚洗漱完,舅舅们和表弟表妹们就都来了...
    毛毛静丫阅读 234评论 0 0
  • 祝福妈妈永远幸福!健康长寿!
    颜小巧阅读 243评论 0 0