友推SDK是一款是面向移動應用的SDK組件,提供給開發者集成使用。 經過友推,開發者幾行代碼就能夠爲應用添加分享送積分功能,並提供詳盡的統計報表,除了自己具有的分享功能 外,開發者也可將積分功能單獨集成在已有分享組件的app上,讓您的應用更好地經過用戶的主動推薦觸達新用戶。
下載地址:http://youtui.mobi/download/index.htm java
開發文檔:http://youtui.mobi/doc/index.htmandroid
功能:api
1.支持微信,QQ,新浪微博,QQ空間,短信,郵件等多家大型社交媒體平臺一鍵分享微信
2.支持積分抽獎活動在線活動建立,讓用戶更主動推廣您的應用,提高用戶的體驗性和互動性網絡
3.支持後臺各類營銷數據統計功能app
4,集成簡單,幾行代碼輕鬆搞定ide
5.支持APP第三方登陸網站
集成案例:ui



集成方法:this
1 |
/*若是您已經在友推添加過App並已生成AppKey,可跳過本步驟直接進入3.2繼續。 |
3 |
申請方法:訪問友推網站後臺,登陸後進入應用列表,添加須要集成友推組件的 App,以下圖,添加成功後可獲取應用的 AppKey。*/ |
01 |
/*集成前您須要爲您的應用在各大社交網站的開放平臺申請帳號並經過審覈,不然只能調用系統的分享菜單,沒法跟蹤分享的回調事件及統計*/ |
04 |
微信 http://open.weixin.qq.com |
05 |
新浪微博 http://open.weibo.com |
06 |
騰訊微博 http://dev.t.qq.com |
07 |
QQ空間、QQ http://open.qq.com/ |
08 |
微信好友 http://open.weixin.qq.com |
09 |
人人 http://dev.renren.com |
10 |
豆瓣(暫未支持) http://developers.douban.com/ |
11 |
FaceBook(暫未支持) https://developers.facebook.com |
12 |
Twitter(暫未支持) https://dev.twitter.com |
1 |
/*1.引用友推庫項目-> 2.註冊須要分享的平臺 -> 3.AndroidManifest.xml註冊權限、activity ->4.初始化友推並調用 |
5 |
將youtui-lib項目庫和應用工程放在同一個目錄下 |
7 |
在 Package Explorer 中右鍵點擊工程的根目錄,選擇 Properties(屬性),而後點擊,在Android選項點擊Add添加youtui-lib*/ |
01 |
/*1.配置各分享平臺key,該配置文件爲youtui_sdk.xml,配置完放入工程的assets文件夾。 |
03 |
2.若是須要分享到哪一個平臺就將該平臺的Enable屬性設置爲true. |
05 |
3.若是須要將某個平臺排列到前面,只須要改變它在youtui_sdk.xml文件中的位置便可。*/ |
07 |
<?xml version="1.0" encoding="utf-8"?> |
09 |
<!-- 分享平臺的註冊信息,必定要填入在相應平臺註冊的正確信息,否則應用沒法完成受權, 也沒法進行分享,enable填寫true或者false屬性決定是否分享該平臺--> |
10 |
<!-- 友推sdk註冊地址 : http://youtui.mobi/ --> |
13 |
<!-- 微信和朋友圈註冊:https://open.weixin.qq.com/ --> |
14 |
<Wechat AppId="" Enable="" /> |
15 |
<WechatMoments AppId="" Enable="" /> |
17 |
<!-- 新浪微博註冊地址:http://open.weibo.com/ --> |
18 |
<SinaWeibo AppKey="" AppSecret="" Enable="" RedirectUrl="" /> |
20 |
<!-- QQ,QQ空間,騰訊微博註冊地址:http://open.qq.com/ --> |
21 |
<QQ AppId="" AppKey="" Enable="" /> |
22 |
<QZone AppId="" AppKey="" Enable="" /> |
23 |
<TencentWeibo AppId="" AppKey="" Enable="" /> |
25 |
<!-- 人人註冊地址: http://dev.renren.com/ --> |
26 |
<Renren AppKey="" AppId="" Enable="" SecretKey="" /> |
27 |
<ShortMessage Enable="" /> |
29 |
<!-- 調用系統分享,適用於暫時沒有申請到key的分享,該分享不會得到積分,也不會被統計到 --> |
01 |
/*在AndroidManifest.xml 註冊權限*/ |
03 |
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
05 |
<!-- 獲取mac地址做爲用戶的備用惟一標識 --> |
06 |
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> |
08 |
<!-- 獲取用戶手機的IMEI,用來惟一的標識用戶。 --> |
09 |
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> |
12 |
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
15 |
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> |
18 |
<uses-permission android:name="android.permission.INTERNET" /> |
21 |
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> |
24 |
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> |
27 |
<uses-permission android:name="android.permission.USE_CREDENTIALS" /> |
30 |
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> |
01 |
<!-- 微信分享須要註冊該activity --> |
03 |
android:name=".wxapi.WXEntryActivity" |
04 |
android:exported="true" |
05 |
android:launchMode="singleTask" |
06 |
android:theme="@android :style/Theme.Translucent" > |
09 |
<!-- qq回調須要註冊該activity --> |
11 |
android:name="com.tencent.connect.common.AssistActivity" |
12 |
android:configChanges="orientation|keyboardHidden" |
13 |
android:screenOrientation="portrait" |
14 |
android:theme="@android :style/Theme.Translucent.NoTitleBar" /> |
16 |
<!-- qq受權須要註冊該activity --> |
18 |
android:name="com.tencent.tauth.AuthActivity" |
19 |
android:launchMode="singleTask" |
20 |
android:noHistory="true" > |
22 |
<action android:name="android.intent.action.VIEW" /> |
23 |
<category android:name="android.intent.category.DEFAULT" /> |
24 |
<category android:name="android.intent.category.BROWSABLE" /> |
26 |
<!-- 請將1101255276換成開發者本身應用的騰訊開放平臺 Appid--> |
27 |
<data android:scheme="tencent1101255276" /> |
31 |
<!-- 人人受權須要註冊的activity --> |
33 |
android:name="com.renn.rennsdk.oauth.OAuthActivity" |
34 |
android:configChanges="orientation|navigation|keyboardHidden" /> |
38 |
<action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /> |
39 |
<category android:name="android.intent.category.DEFAULT" /> |
45 |
android:name="cn.bidaround.ytcore.activity.ShareActivity" |
46 |
android:exported="true" |
47 |
android:launchMode="singleTop" |
48 |
android:theme="@android :style/Theme.Translucent.NoTitleBar" /> |
51 |
android:name="cn.bidaround.ytcore.login.AuthActivity" |
52 |
android:theme="@android :style/Theme.Translucent.NoTitleBar" /> |
55 |
android:name="cn.bidaround.point.PointActivity" /> |
56 |
<!-- 友推渠道號,應用名(英文或拼音)+"_yt",如:「jd_yt」,用於識別經過友推下載的應用,請正確填寫不然沒法正確統計 --> |
58 |
android:name="YOUTUI_CHANNEL" |
59 |
android:value="yourappname_yt" > |
1 |
/*若是須要分享微信和朋友圈,必需建一個 應用包名+ .wxapi 的包,在該包下建 WXEntryActivity.java,將該類繼承cn.bidaround.youtui.wxapi.WXEntryActivity便可(裏面不用寫代碼)*/ |
3 |
public class WXEntryActivity extends cn.bidaround.youtui.wxapi.WXEntryActivity { |
01 |
/*開發者請在本身的程序開始,最好是在MainActivity的onCreate方法調用YtTemplate.init(this)初始化友推sdk,這樣友推sdk才能進行後續調用(不然分享等操做會出現空指針異常),例如:*/ |
03 |
protected void onCreate(Bundle savedInstanceState) { |
04 |
super.onCreate(savedInstanceState); |
05 |
setContentView(R.layout.activity_main); |
06 |
YtTemplate.init(this);/*初始化友推*/ |
11 |
在您項目的出口Activity的 onDestroy 方法的第一行插入下面的代碼 YtTemplate.release(this); 此方法用於釋放內存,統計用戶使用狀況,一旦調用了release,就必須從新調用init才能使用友推的功能,不然會出現空指針異常;*/ |
01 |
調用該實例的set方法設置本身須要分享的數據,關於該實例具體內容見下文,若是隻是分享應用則只須要設置 setIsAppShare(true) 就能夠分享應用在友推後臺填寫的信息和下載連接。 |
14 |
待分享的文字,短信要小於70個字符,微博要小於140個字符,若是須要分享連接,最好將連接url放在最後 |
15 |
待分享的本地圖片地址,分享圖片的話須要在本地和網絡圖片中選一,若是都有則優先分享本地圖片 |
16 |
待分享網絡圖片url,分享圖片的話須要在本地和網絡圖片中選一,若是都有則優先分享本地圖片 |
21 |
經過建立該類實例,調用實例的set方法設置這些參數,例如: |
23 |
ShareData shareData = new ShareData(); |
25 |
shareData.isAppShare = false;/*設置爲true則分享的信息從友推後臺填寫的應用信息中讀取,可動態更新,後面的值不用設置。*/ |
27 |
shareData.setDescription("友推積分組件"); |
29 |
shareData.setTitle("友推分享"); |
31 |
shareData.setText("經過友推積分組件,開發者幾行代碼就能夠爲應用添加分享送積分功能,並提供詳盡的 |
33 |
後臺統計數據,除了自己具有的分享功能外,開發者也可將積分功能單獨集成在已有分享組件的app上,快來試試吧 http://youtui.mobi"); |
37 |
shareData.setTarget_url("http://youtui.mobi"); |
39 |
shareData.setImageUrl("http://youtui.mobi/media/image/youtui.png"); |
41 |
shareData.setImagePath("http://cdnup.b0.upaiyun.com/media/image/default.png"); |
01 |
public void onClick(View v) { |
02 |
if(v.getId()==R.id.popup_bt){ |
03 |
/*調用友推分享推薦組件,YouTuiViewType類的常量爲分享樣式參數,目前支持白色列表和黑色網格兩種*/ |
04 |
/*建立分享的模板,第一個參數爲activity,第二個參數爲分享窗口樣式,第三個參數爲是否須要積分*/ |
05 |
YtTemplate blackTemp = new YtTemplate(this, YouTuiViewType.BLACK_POPUP,false); //黑色網格樣式不須要積分活動 |
06 |
/*YtTemplate blackTemp = new YtTemplate(this, YouTuiViewType.WHITE_LIST,ture);*/ //白色列表樣式須要積分活動 |
08 |
ShareData shareData = new ShareData(); |
09 |
shareData.isAppShare = false;//設置爲true則分享的信息從友推後臺填寫的應用信息中讀取,可動態更新後面的值不用設置。 |
10 |
shareData.setDescription("友推積分組件"); |
11 |
shareData.setTitle("友推分享"); |
12 |
shareData.setText("經過友推積分組件,開發者幾行代碼就能夠爲應用添加分享送積分功能,並提供詳盡的後臺統計數據,除了自己具有的分享功能外,開發者也可將積分功能單獨集成在已有分享組件的app上,快來試試吧 http://youtui.mobi"); |
13 |
shareData.setTarget_url("http://youtui.mobi"); |
14 |
shareData.setImageUrl("http://youtui.mobi/media/image/youtui.png"); |
15 |
shareData.setImagePath("http://cdnup.b0.upaiyun.com/media/image/default.png"); |
17 |
blackTemp.setShareData(shareData);//設置默認的分享數據;shareData 設置參看4.6 |
18 |
//**若是要爲某個平臺設置不同的分享信息。則單獨設置*/ |
19 |
//blackTemp.addData(YtPlatform.PLATFORM_QQ, shareData); |
23 |
//若是須要自定義分享事件,能夠建立監聽事件,而後在回調中處理 |
24 |
YtShareListener listener1 = new YtShareListener() { |
26 |
public void onSuccess(ErrorInfo arg0) { |
31 |
public void onPreShare() { |
36 |
public void onError(ErrorInfo arg0) { |
41 |
public void onCancel() { |
46 |
blackTemp.addListener(YtPlatform.PLATFORM_SINAWEIBO, listener1); |
48 |
//blackTemp.addListener(YtPlatform.PLATFORM_QQ, listener2); |