調(diào)起方法

2020-02-15 02:03 更新

名詞解釋

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


入口控制

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

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


調(diào)用邏輯

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


主動(dòng)調(diào)用

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


被動(dòng)調(diào)用

無論用戶點(diǎn)擊何種入口,小程序框架均會(huì)將 shareOption 帶給 ?[Page|tt].onShareAppMessage(callback)? 方法中注冊(cè)的 ?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,分別對(duì)應(yīng)兩種被動(dòng)分享方式
  target: null, // 當(dāng)from=button時(shí),target指向<button>對(duì)象,當(dāng)from=menu時(shí),target為null
  channel: '',  // 預(yù)設(shè)的分享方式(通過button分享時(shí),取值自data-channel)
}

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

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


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

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

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


擴(kuò)展參數(shù) extra 說明

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)