ãã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); }
温馨提示:答案为网友推荐,仅供参考