調(diào)起方法

2020-02-15 02:03 更新

名詞解釋

  1. shareOption——系統(tǒng)調(diào)用開發(fā)者注冊的回調(diào)時,傳遞給回調(diào)的數(shù)據(jù),包括用戶選擇的調(diào)起方式等
  2. shareParam——開發(fā)者最終傳遞給發(fā)布器的數(shù)據(jù),可以根據(jù)約定傳入部分自定義數(shù)據(jù)


入口控制

1.如果顯示定義了 ?[Page|tt].onShareAppMessage(callback)? 方法,在小程序右上角膠囊按鈕里會自動帶上「分享」「發(fā)頭條」等入口。其中小程序里的方法注冊在 ?Page? 上,小游戲直接掛在 ?tt? 上

  1. 無論是否顯示定義上述方法,均可以通過 ?tt.showShareMenu()? 和 ?tt.hideShareMenu()? 控制入口的顯示與隱藏。
  2. 開發(fā)者在開發(fā)小程序時,還可以在 TTML/WXML 文件里通過 ?button? 組件自定義入口。其中通過 ?data-channel? 字段指定調(diào)起方式(默認為「分享」),如:
    <button class="custom-share-button" open-type="share" data-channel="video" data-qrcode="inv34+23==">Click Me!</button>
  3. 開發(fā)者在開發(fā)小游戲時,可以在圖形界面繪制自定義按鈕,在按鈕的回調(diào)中調(diào)用 ?tt.shareAppMessage(shareParam)? 來直接調(diào)起發(fā)布器。


調(diào)用邏輯

如上圖所示,調(diào)用可大體分為主動調(diào)用(C)和被動調(diào)用(A、B、C)兩種模式。小程序只能使用被動調(diào)用,小游戲可以使用主動和被動兩種。


主動調(diào)用

開發(fā)者直接通過 ?tt.shareAppMessage(shareParam)? 方法,將 shareParam 傳遞給系統(tǒng)發(fā)布器即可。


被動調(diào)用

無論用戶點擊何種入口,小程序框架均會將 shareOption 帶給 ?[Page|tt].onShareAppMessage(callback)? 方法中注冊的 ?callback? 回調(diào)。開發(fā)者可以在回調(diào)中根據(jù)參數(shù)處理相應(yīng)邏輯,最后返回 shareParam 即可。如:

Page({
  onShareAppMessage(function (shareOption) {
    switch(shareOption.channel){
      case 'video':
        return {
          extra: {
            videoPath : shareOption.target.dataset.path
          }
        };
        break;
      case 'qrcode':
        ...
        break;
      default:
        ...
        break;
    }
  }),
});

其中,shareOption 的結(jié)構(gòu)如下:

{
  from: '',     // 合法值包括 button 和 menu,分別對應(yīng)兩種被動分享方式
  target: null, // 當(dāng)from=button時,target指向<button>對象,當(dāng)from=menu時,target為null
  channel: '',  // 預(yù)設(shè)的分享方式(通過button分享時,取值自data-channel)
}

shareParam 說明 一個典型的 shareParam 的形式如下,大體上分為基礎(chǔ)參數(shù)和擴展參數(shù) extra 兩部分:

{
  channel: '',
  title: '',
  imageUrl: '',
  path: '',
  extra: {
    videoPath: ''
  }
}


基礎(chǔ)參數(shù)說明

所有的分享/發(fā)布內(nèi)容都需要經(jīng)過獨立的審核后才會放出。 開發(fā)者可以在開放平臺后臺預(yù)先設(shè)置好一些分享默認內(nèi)容,當(dāng)實際代碼所指定的內(nèi)容審核通過前,會展示該默認內(nèi)容。

姓名說明
channel指定發(fā)布器的調(diào)用方式,默認為 share。具體內(nèi)容見下方「特殊參數(shù)說明」
title想要分享/發(fā)布的內(nèi)容標(biāo)題。
imageUrl想要分享/發(fā)布的內(nèi)容,當(dāng)調(diào)用方式支持傳入一張圖片時,可以通過此參數(shù)指定。
query/path分享/發(fā)布的內(nèi)容會自動與小程序綁定,同時在 UI 上提供進入小程序的入口。開發(fā)者如果想為該入口添加參數(shù)可以通過設(shè)置 query/path 實現(xiàn)。其中小程序需要傳遞 path 字段,小游戲是 query 字段。


擴展參數(shù) extra 說明

功能描述channel支持的 app基礎(chǔ)參數(shù)說明extra 參數(shù)說明
分享面板share今日頭條抖音
發(fā)布圖文內(nèi)容article今日頭條
發(fā)布視頻內(nèi)容video今日頭條1. 不支持 imageUrl,title 參數(shù)
2. 如果無需指定 videoPath 時請勿為該參數(shù)賦值,否則會導(dǎo)致進入錯誤的發(fā)布器頁面
可以指定一個本地視頻直接進入編輯頁面 videoPath(類型是 string)
發(fā)布視頻內(nèi)容video抖音1. 不支持 imageUrl 參數(shù)
2. title 參數(shù)在發(fā)布過程中對用戶透明,經(jīng)審核后可放出
1. 話題列表 videoTopics(類型是 string[])
2. 可以指定一個本地視頻直接進入編輯頁面 videoPath(類型是 string)
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號