古詩詞大全網 - 個性簽名 - 如何把app分享到微信

如何把app分享到微信

1

申請應用 AppKey

申請方法:訪問友推網站後臺,登錄後進入應用列表,添加需要集成友推組件的 App,如下圖,添加成功後可獲取應用的 AppKey。

2

申請社交平臺appkey

集成前您需要為您的應用在各大社交網站的開放平臺申請賬號並通過審核,否則只能調用系統的分享菜單,無法跟蹤分享的回調事件及統計平臺

3

引用youtui庫項目

將youtui-lib項目庫和應用工程放在同壹個目錄下

在 Package Explorer 中右鍵點擊工程的根目錄,選擇 Properties(屬性),然後點擊,在Android選項點擊Add添加youtui-lib

4

註冊需要分享的平臺

1.配置各分享平臺key,該配置文件為youtui_sdk.xml,配置完放入工程的assets文件夾。

2.如果需要分享到哪個平臺就將該平臺的Enable屬性設置為true.

3.如果需要將某個平臺排列到前面,只需要改變它在youtui_sdk.xml文件中的位置即可。

5

各平臺需要註意的事項:

新浪微博:

新浪微博需要驗證應用簽名,請壹定要在新浪開放平臺管理中心應用信息 -> 基本信息 -> Android簽名包名信息 配置該信息

每次包名變化或者使用的.keystore變化都會導致應用簽名變化,請重新到新浪微博開放平臺設置。

運行Demo時如果重新編譯,因為使用的.keystore文件變化也會導致應用簽名變化,導致Demo新浪微博分享無法正常工作,請運行Demo時使用Demo工程包中提供的debug.keystore替換C:\Users\Administrator.android中的debug.keystore文件

微信和朋友圈:

微信和朋友圈也需要驗證應用簽名,請在微信開放平臺管理中心修改應用 -> 開發信息配置。

QQ和QQ空間:

QQ和QQ空間使用的是騰訊開放平臺api,請在騰訊開放平臺申請賬號和註冊應用,請不要使用QQ互聯(用於網站賬號登錄)的配置,雖然都是騰訊的,但是兩個平臺並不通用,除了需要在youtui_sdk.xml配置信息,還需要在manifest文件中的android:scheme中的tencent後的壹串數字換成自己應用的appid。

<?xml version="1.0" encoding="utf-8"?>

最後壹行配置說明:選用調用系統分享菜單功能

6

在AndroidManifest.xml 註冊權限

7

在 AndroidManifest.xml 註冊需要的Activity

8

微信和朋友圈回調設置

如果需要分享微信和朋友圈,必需建壹個 應用包名+ .wxapi 的包,在該包下建 WXEntryActivity.java,將該類繼承cn.bidaround.youtui.wxapi.WXEntryActivity即可(裏面不用寫代碼)

public class WXEntryActivity extends cn.bidaround.youtui.wxapi.WXEntryActivity { }

9

初始化友推

開發者請在自己的程序開始,最好是在MainActivity的onCreate方法調用YtTemplate.init(this)初始化友推sdk,這樣友推sdk才能進行後續調用(否則分享等操作會出現空指針異常),例如:

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); YtTemplate.init(this);/初始化友推/ initView(); } 應用退出時:

在您項目的出口Activity的 onDestroy 方法的第壹行插入下面的代碼 YtTemplate.release(this); 此方法用於釋放內存,統計用戶使用情況,壹旦調用了release,就必須重新調用init才能使用友推的功能,否則會出現空指針異常;

10

創建 ShareData 實例,調用該實例的set方法設置需要分享的數據: 創建ShareData實例,調用該實例的set方法設置自己需要分享的數據,關於該實例具體內容見下文,如果只是分享應用則只需要設置 setIsAppShare(true) 就可以分享應用在友推後臺填寫的信息和下載鏈接。

ShareData 包含的字段:

isAppShare text imagePath imageUrl description title target_url 判斷是否為分享應用 待分享的文字,短信要小於70個字符,微博要小於140個字符,如果需要分享鏈接,最好將鏈接url放在最後 待分享的本地圖片地址,分享圖片的話需要在本地和網絡圖片中選壹,如果都有則優先分享本地圖片 待分享網絡圖片url,分享圖片的話需要在本地和網絡圖片中選壹,如果都有則優先分享本地圖片 待分享內容的描述 待分享內容的標題 待分享內容的跳轉鏈接

11

通過創建該類實例,調用實例的set方法設置這些參數,例如:

ShareData shareData = new ShareData(); shareData.isAppShare = false;//設置為true則分享的信息從友推後臺填寫的應用信息中讀取,可動態更新,後面的值不用設置。 shareData.setDescription("友推積分組件"); shareData.setTitle("友推分享"); shareData.setText("通過友推積分組件,開發者幾行代碼就可以為應用添加分享送積分功能,並提供詳盡的後臺統計數據,除了本身具備的分享功能外,開發者也可將積分功能單獨集成在已有分享組件的app上,");

shareData.setTarget_url("");

shareData.setImageUrl("");

shareData.setImagePath("");

12

各個平臺分享數據的限制和註意事項:

因為各個平臺的分享限制,請分享時盡量分享圖片+鏈接,依靠鏈接來了解更多信息

1) 微信 朋友圈 微信分享為linkcard形式,超出的文字部分不會顯示

2) 新浪微博 很低版本的新浪微博不支持發多類型微博,進行圖文分享時只會分享圖片,新浪微博分享消息最長為140字

3) QQ、QQ空間 QQ分享的消息最長40字,分享的標題最長30字,多余的部分將被忽略,description將被忽略 QQ空間分享的消息最長200字,分享的標題最長600字,多余的部分將被忽略,description將被忽略

4) 騰訊微博 只有image(imagePath或imageUrl)和text被分享,其他字段忽略,騰訊微博分享消息最長為140字

5) 人人網 只有image(imagePath或imageUrl)和text被分享,其他字段忽略

6) 短信 只有text被分享,其他字段忽略

7) 郵件 只有text被分享,其他字段忽略

13

調用友推分享推薦組件

為應用添加壹個分享推薦按鈕,如:

14

在分享按鈕事件中調用youtui的組件即可,示例代碼:

public void onClick(View v) { if(v.getId()==R.id.popup_bt)

{ /調用友推分享推薦組件,YouTuiViewType類的常量為分享樣式參數,目前支持白色列表和黑色網格兩種/ /創建分享的模板,第壹個參數為activity,第二個參數為分享窗口樣式,第三個參數為是否需要積分/

YtTemplate blackTemp = new YtTemplate(this, YouTuiViewType.BLACK_POPUP,false); //黑色網格樣式不需要積分活動 /YtTemplate blackTemp = new YtTemplate(this, YouTuiViewType.WHITE_LIST,ture);/ //白色列表樣式需要積分活動

15

ShareData shareData = new ShareData();

shareData.isAppShare = false;//設置為true則分享的信息從友推後臺填寫的應用信息中讀取,可動態更新後面的值不用設置。

shareData.setDescription("友推積分組件");

shareData.setTitle("友推分享");

shareData.setText("通過友推積分組件,開發者幾行代碼就可以為應用添加分享送積分功能,並提供詳盡的後臺統計數據,除了本身具備的分享功能外,開發者也可將積分功能單獨集成在已有分享組件的app上,快來試試吧 ");

shareData.setTarget_url("");

shareData.setImageUrl("");

shareData.setImagePath("");

blackTemp.setShareData(shareData);//設置默認的分享數據;shareData 設置參看4.6

//**如果要為某個平臺設置不壹樣的分享信息。則單獨設置*/ //blackTemp.addData(YtPlatform.PLATFORM_QQ, shareData); //調出分享窗口 blackTemp.show();

//如果需要自定義分享事件,可以創建監聽事件,然後在回調中處理 YtShareListener listener1 = new YtShareListener() {

@Override

public void onSuccess(ErrorInfo arg0)

{

}

@Override public void onPreShare()

{

}

@Override

public void onError(ErrorInfo arg0)

{

}

@Override

public void onCancel() {

}

};//給新浪微博添加分享監聽 blackTemp.addListener(YtPlatform.PLATFORM_SINAWEIBO, listener1);

//給QQ添加分享監聽 //

blackTemp.addListener(YtPlatform.PLATFORM_QQ, listener2); }