有時候開發者想給咱們的應用添加一個功能分享又能建立活動的功能來推廣本身的應用,可是開發相似的功能對於開發者的時間成原本說太大了,不如去集成一個有這樣功能的組件,如友推SDK積分組件html
註冊須要分享的平臺網站
該信息放置在下載包的 youtui_sdk.xml 中,請正確填寫,若是你須要分享哪一個平臺,能夠將該平臺的 Enable 屬性設置爲 true ,填寫完成後將 youtui_sdk.xml 放置到 asserts 文件夾下,請不要改動該文件下標籤信息,不然會形成解析xml時沒法讀取到該標籤的內容,致使受權信息錯誤,該xml文件內容以下:
<?xml version="1.0" encoding="utf-8"?>
<KeyInfo>
<!-- 分享平臺的註冊信息,必定要填入在相應平臺註冊的正確信息,否則應用沒法完成受權, 也沒法進行分享,enable填寫true或者false屬性決定是否分享該平臺-->
<!-- 友推sdk註冊地址 : http://youtui.mobi/ -->
<YouTui AppKey="" />
<!-- 微信和朋友圈註冊:https://open.weixin.qq.com/ --> <Wechat AppId="" Enable="" /> <WechatMoments AppId="" Enable="" />
<!-- 新浪微博註冊地址:http://open.weibo.com/ --> <SinaWeibo AppKey="" AppSecret="" Enable="" RedirectUrl="" />
<!-- QQ,QQ空間,騰訊微博註冊地址:http://open.qq.com/ -->
<QQ AppId="" AppKey="" Enable="" /> <QZone AppId="" AppKey="" Enable="" /> <TencentWeibo AppId="" AppKey="" Enable="" />
<!-- 人人註冊地址: http://dev.renren.com/ -->
<Renren AppKey="" AppId="" Enable="" SecretKey="" /> <ShortMessage Enable="" /> <Email Enable="" />
<!-- 調用系統分享,適用於暫時沒有申請到key的分享,該分享不會得到積分,也不會被統計到 --> <More Enable="true"/> </KeyInfo>
在AndroidManifest.xml 註冊權限
<!-- 檢測網絡狀態 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 獲取mac地址做爲用戶的備用惟一標識 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 獲取用戶手機的IMEI,用來惟一的標識用戶。 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- 寫入SDcard權限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--打開關閉sd卡權限--!> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<!--網絡權限--!>
<uses-permission android:name="android.permission.INTERNET" />
<!-- 用於讀取sd卡圖片 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- 用於人人SSO登錄 -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- 用於人人SSO登錄 --> <uses-permission android:name="android.permission.USE_CREDENTIALS" />
<!-- 用於人人SSO登錄 --> <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
在 AndroidManifest.xml 註冊須要的Activity
<!-- 微信分享須要註冊該activity --> <activity android:name=".wxapi.WXEntryActivity" android:exported="true" android:launchMode="singleTask" android:theme="@android:style/Theme.Translucent" > </activity>
<!-- qq回調須要註冊該activity --> <activity android:name="com.tencent.connect.common.AssistActivity" android:configChanges="orientation|keyboardHidden" android:screenOrientation="portrait" android:theme="@android :style/Theme.Translucent.NoTitleBar" />
<!-- qq受權須要註冊該activity --> <activity android:name="com.tencent.tauth.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" />
<!-- 請將xxxxxx改成本身註冊的appid--> <data android:scheme="tencentxxxxxx" /> </intent-filter> </activity>
<!-- 人人受權須要註冊的activity --> <activity android:name="com.renn.rennsdk.oauth.OAuthActivity" android:configChanges="orientation|navigation|keyboardHidden" />
<!-- 新浪微博分享回調須要設置 --> <intent-filter> <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
<!-- 友推渠道號,應用名(英文或拼音)+"_yt",如:「jd_yt」,用於識別經過友推下載的應用,請正確填寫不然沒法正確統計 --> <meta-data android:name="YOUTUI_CHANNEL" android:value="yourappname_yt" > </meta-data>
初始化友推
開發者請在本身的程序開始,最好是在MainActivity的onCreate方法調用YouTui.init(activity)初始化友推sdk,這樣友推sdk才能進行後續調用,例如:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
YouTui.init(this);/*初始化友推*/
initView(); }
建立 ShareData 實例,調用該實例的set方法設置須要分享的數據:
建立ShareData實例,調用該實例的set方法設置本身須要分享的數據,關於該實例具體內容見下文,若是隻是分享應用則只須要設置setIsAppShare(true) 就能夠分享應用在友推後臺填寫的信息和下載連接。
ShareData 包含的字段:
isAppShare 判斷是否爲分享應用
text 待分享的文字,短信要小於70個字符,微博要小於140個字符,若是須要分享 連接,最好將連接url放在最後
imagePath 待分享的本地圖片地址,分享圖片的話須要在本地和網絡圖片中選一,若是都有則優先分享本地圖片
imageUrl 待分享網絡圖片url,分享圖片的話須要在本地和網絡圖片中選一,若是都有則優先分享本地圖片
description 待分享內容的描述
title 待分享內容的標題
target_url 待分享內容的跳轉連接
經過建立該類實例,調用實例的set方法設置這些參數,例如:
private ShareData shareData = ShareData.getInstance();
shareData.setDescription("友推積分組件");
shareData.setTitle("友推分享");
shareData.setText("經過友推積分組件,開發者幾行代碼就能夠爲應用添加分享送積分功能,並提供詳盡的後臺統計數據,除了自己具有的分享功能外,開發者也可將積分功能單獨集成在已有分享組件的app上,快來試試吧 http://youtui.mobi");
shareData.setTarget_url("http://youtui.mobi");
shareData.setImageUrl("http://youtui.mobi/media/image/youtui.png"); shareData.setImagePath(Environment.getExternalStorageDirectory()+YoutuiConstants.FILE_SAVE_PATH+"youtui.png");
微信和微信朋友圈
若是須要分享微信和朋友圈,必需建一個 應用包名+ .wxapi 的包,在該包下建 WXEntryActivity.java,將該類繼承cn.bidaround.youtui.wxapi.WXEntryActivity便可(裏面不用寫代碼)
public class WXEntryActivity extends cn.bidaround.youtui.wxapi.WXEntryActivity { }
如圖:(將com.xingxinglangtuoche替換成你應用的package名,微信回調會使用到)
調用友推分享推薦組件
public void onClick(View v) {
if(v.getId()==R.id.popup_bt){
/*調用友推分享推薦組件,YouTuiViewType類的常量爲分享樣式參數,目前支持白色列表和黑色網格兩種*/
/*YouTui.show新的須要傳入參數hasAct,true表明須要積分活動,false表明不須要積分活動*/
YouTui.show(this, YouTuiViewType.BLACK_POPUP,false); //黑色網格樣式不須要積分活動
/*YouTui.show(this, YouTuiViewType.WHITE_LIST,ture);*/ //白色列表樣式須要積分活動
}
}
應用能夠在後臺設置分享送積分、積分兌換禮品活動,激勵用戶跟主動向好友分享您的應用,以及查看用戶分享推薦的數據明細。
若是沒有設置分享送積分活動則不會提示分享送積分活動信息,返回到基本的分享組件功能。
案例:兼職貓集成後,用戶經過QQ分享給好友,點擊連接進入應用簡介下載頁面
應用能夠在後臺設置推廣活動及查看用戶分享的明細報表。