美文网首页
unity逆向集成友盟分享

unity逆向集成友盟分享

作者: lyx2002py | 来源:发表于2017-04-06 10:16 被阅读0次

项目上线前,升级友盟分享的插件至新版本,发现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

相关文章

  • unity逆向集成友盟分享

    项目上线前,升级友盟分享的插件至新版本,发现android部分需要配置工程中各项内容,意味着每次打新版都需要多一系...

  • Android-->友盟分享/登录快速集成库

    友盟分享/登录快速集成库 友盟分享快速集成库 本库基于友盟6.4.4的分享模块版本开发. 暂时只集成了, QQ和微...

  • 友盟分享总结 coder_hong

    友盟分享 友盟官网集成文档 首先注册友盟账号 SDK下载Snip20160616_2.png 友盟个人中心中创建一...

  • Android 友盟分享的问题解决

    现在做的项目中集成了友盟分享,产品要求集成微信、朋友圈、QQ、QQ空间、短信这几个分享平台。按照友盟的文档集成一切...

  • iOS 友盟推送--关键点/核心点

    |:-| totem iOS集成友盟推送 1.iOS集成“友盟推送”后,友盟服务响应的deviceToken = ...

  • Could not find a storyboard name

    今天集成了友盟分享,但是分享面板一直出不来,然后查看了友盟的常见问题文档 根据友盟的文档,把Main.storyb...

  • Android uemgn分享回调。细节

    一、友盟QQ分享不走回调方法 集成友盟社会化分享后,除了QQ、QQZone以外,其他分享都能正常显示分享成功、取消...

  • 友盟分享集成

    在本app打开其他app的时候,会调用一个共享类的对象方法是 如果返回yes,系统允许打开,才能分享调用成功,进行...

  • 集成友盟分享

    1.通过Cocoapods集成 1.1配置平台Cocoapods集成U-Share SDK可灵活配置平台,如工程t...

  • 集成友盟分享

    首先添加友盟的sdk及设置分享跳转的URL types,还有设置白名单 分享界面的设置,一般都是要求文字配图片,图...

网友评论

      本文标题:unity逆向集成友盟分享

      本文链接:https://www.haomeiwen.com/subject/huixattx.html