初试友盟分享

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

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

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

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

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

<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" />this

                <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" />spa

上面黄色高光的是须要填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的签名,此时你须要去微信开放平台后面进行比对,若是一致,通常是不会出现问题的。

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

相关文章
相关标签/搜索