初试友盟分享

原创
2016/11/17 15:37
阅读数 69

这两天研究了下友盟分享,最后终于成功实现QQ好友,QQ空间,微信好友,微信朋友圈的分享,在这里记录下容易出现问题的几个地方。

首先,最直接有效的学习方法就是去看友盟的官方文档,非常全面,而且在友盟的官方网站上面还有常见的一些问题,我遇到的问题在上面都可以查到,就是仔细对比后发现了自己的问题。

我记录的是在android移动端实现分享出现的问题,事先的准备工作例如友盟appkey的申请是已经完成了的。

第一步,是将友盟sdk下载下来,导入到libs文件夹中。

第二步,将友盟的appkey添加到自己的AndroidMainfest.xml文件当中,注意,该节点应该放置在<application>节点里面

<meta-data
            android:name="UMENG_APPKEY"
            android:value="你的key" >
        </meta-data>

 

第三步,按照教程,会让你在AndroidMainfest.xml添加关于一些必不可少的activity的声明。

<activity
            android:name=".wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <activity
            android:name="com.umeng.qq.tencent.AuthActivity"
            android:launchMode="singleTask"
            android:noHistory="true" >
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="tencentXXXXXXXXXX" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.umeng.qq.tencent.AssistActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <activity
            android:name="com.umeng.socialize.editorpage.ShareActivity"
            android:excludeFromRecents="true"
            android:theme="@style/Theme.UMDefault" />

上面黄色高光的是需要填QQ ID的,是要去申请的,id是十位,注意,前面的tencent不能少,教程中也有提示,我一开始少了这个tencent,检查时发现了及时调整了过来。

上面红色高光的是关于微信的一个activity的配置,教程中也讲到了,这个WXEntryActivity,必须在包名目录下的wxapi包下,比如,你的包名是com.a.b,那么,你的这个activity必须要放在com.a.b.wxapi这个包下面,在AndroidMainfest.xml文件当中配置的时候不必加上自己的包名。

第四步,配置application

public class App extends Application {
    
    
    @Override
    public void onCreate() {
        super.onCreate();
        UMShareAPI.get(this);
    }
    
    
    {
        PlatformConfig.setWeixin("你的微信申请id", "你的微信key");
        PlatformConfig.setQQZone("qq id", "qq key");
        
    }
    
    
    

}

上面的绿色高光部分都是要去申请的。

第五步,也是最重要的一步,是对于微信来说,我在这一步卡了好久,就是你的app打包时的签名必须和你在微信开放平台上申请时填写的那个签名要一致,否则不会成功分享到微信。友盟提供了一个工具类用来检查是否配置正确,UmengTool.checkWx(Context context). 这个方法会检查你的activity是否配置正确,并且会以一个dialog的形式弹出,上面会显示你这个app的签名,此时你需要去微信开放平台后面进行比对,如果一致,一般是不会出现问题的。

但是,我在检查了之后还是不能成功分享,点击分享到微信后就闪了一下,弹不出微信好友列表的界面,后来把微信卸载重新安装,手机重启之后,终于成功实现了分享。真是神了。

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部