此篇为安卓篇
第一步:在官网申请AppID
https://connect.qq.com/index.html
申请成功后在应用管理就可以看到AppID
第二步:开始配置环境
在这里说一句,对新手而言,刚开始要学的是AndroidStudio与unity的交互,下面附上,我感觉不错的,新手可以先看看这个。
https://www.cnblogs.com/shirln/p/8423561.html
好了,我们开始配置环境了。附上官网的配置介绍,,我在下面还会附上配置AndroidManifest的代码
<activity
android:name="com.tencent.tauth.AuthActivity"
android:noHistory="true"
android:launchMode="singleTask" >
<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="tencent你的AppID" />
</intent-filter>
</activity>
//qq控件
<activity android:name="com.tencent.connect.common.AssistActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="orientation|keyboardHidden|screenSize" />
好了,我们配置环境已经配置好了。很简单吧!
第三步:开始撸代码
我们会用到三个脚本:
MainActivity 程序的入口
QQManager SDK 功能函数的类
BaseApiListener 回调用的类
onCreate函数是程序的入口,,我们在这里需要把qqManager实例化
getQQManager函数是给unity里面调用的。
package com.lianyou.threeking;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import com.lianyou.threeking.wxapi.BaseApiListener;
import com.tencent.connect.common.Constants;
import com.tencent.connect.share.QQShare;
import com.tencent.tauth.Tencent;
public class QQManager {
private static Tencent mTencent;// 新建Tencent实例用于调用分享方法
private Activity m_MainActivity;
private static BaseApiListener m_LoginCallBack = new BaseApiListener();
private String APP_ID = "你的AppID";
QQManager(Activity activity) {
mTencent = Tencent.createInstance(APP_ID,activity.getApplicationContext());
m_MainActivity = activity;
}
//处理低端机内存紧张导致可能无回调
public static void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == Constants.REQUEST_API) {
if (resultCode == Constants.REQUEST_LOGIN) {
mTencent.handleResultData(data, m_LoginCallBack);
}
mTencent.onActivityResultData(requestCode, resultCode, data, m_LoginCallBack);
}
}
public void shareToQQ(String dianJiURL,String biaoTi,String tuPianURL,String xiaoXI) {
final Bundle params = new Bundle();
params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_DEFAULT);//分享的类型
params.putString(QQShare.SHARE_TO_QQ_TITLE, biaoTi);//分享的标题。
params.putString(QQShare.SHARE_TO_QQ_SUMMARY, xiaoXI); //分享消息
params.putString(QQShare.SHARE_TO_QQ_TARGET_URL, dianJiURL);//这条分享消息被好友点击后的跳转URL。
params.putString(QQShare.SHARE_TO_QQ_IMAGE_URL, tuPianURL);//分享的图片URL
params.putString(QQShare.SHARE_TO_QQ_APP_NAME, "矿世三国");//应用名称
mTencent.shareToQQ(m_MainActivity, params, m_LoginCallBack);
}
}
package com.lianyou.threeking.wxapi;
import com.lianyou.threeking.MainActivity;
import com.tencent.tauth.IUiListener;
import com.tencent.tauth.UiError;
public class BaseApiListener implements IUiListener {
@Override
public void onCancel() {
// 取消分享
MainActivity.sendMsg("onQQCancel", String.format("%d#:%s", "取消"));
}
@Override
public void onComplete(Object o) {
// 操作成功
MainActivity.sendMsg("onQQComplete", String.format("%d#:%s", "成功"));
}
@Override
public void onError(UiError uiError) {
// 分享异常
MainActivity.sendMsg("onQQError", String.format("%d#:%s", uiError.toString()));
}
}
其实,,对新手而言,最难的是之前没有接触过Android Studio,这个就需要一边度娘,一边用了。