facebook web端傳送應用通知邀請

昭光發表於2019-04-02

需求:

web端傳送遊戲應用通知,進行好友邀請和拉新,在fackbook 通知中顯示如: ( xxx-user在 xx 應用裡給你發了請求) 點選這個請求的效果是跳轉對應的App Store or 谷歌應用市場。如果已經安裝遊戲的,直接跳到遊戲應用中。

fackbook 官方技術文件

遇到的問題:

  • 這是屬於遊戲通知,不是分享的範疇。
  • FB邀請是https 和 域名形式才能進行獲取、回撥。
  • 開發過程中,正常傳送了通知,安卓可以收到、ios 沒有收到
  • 點選通知請求,沒有跳到對應的市場,而是在應用中心,顯示不支援該平臺

解決辦法:

  • 第一點檢視文件找到對應的功能點,是遊戲請求
  • 第二點https證照文件,本地弄一個https 證照。域名形式則通過搬定host 解決 本地https 證照(頁面目錄下執行):
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
http-server -S -C cert.pem -o
複製程式碼
  • 第三點,最坑,是因為Bundle ID 不對導致沒有收到遊戲通知,還有iPhone store 的編號沒有填寫!得登陸facebook的應用後臺,設定安裝的包名資訊、類名資訊、還有選上單點登陸
  • 第四點,安卓和ios 都選上單點登陸深度連結就可以了。

相關程式碼:

      <script>
        (function(d, s, id){
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) {return;}
            js = d.createElement(s); js.id = id;
            js.src = "https://connect.facebook.net/en_US/sdk.js";
            fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));
      </script>
      
    // 初始化,傳入facebook 的應用ID   
    window.fbAsyncInit = () => {
      FB.init({
        appId      : appID,
        cookie     : true,
        xfbml      : true,
        version    : 'v3.2'
      });
      FB.AppEvents.logPageView();
    };
    
    // 利用FB .ui apprequest 傳送通知
    window.FB.ui({
      appID,
      method: 'apprequests',
      message: '這是應用測試',
      title: 'Invite friends to play', 
    }, function(response){
      if(response && response.to.length>0){
        console.log('Welcome!  Fetching your information....1111 ');
      }
      console.log(response);
    });    
    
    
    // 分享相關程式碼  ====
    
      <div class="fb-share-button" data-href="https://www.katoto.cn/" data-layout="button" data-size="small">
        <a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.baidu.com%2F&amp;src=sdkpreparse" class="fb-xfbml-parse-ignore">分享</a>
      </div>
    
複製程式碼

換起列表效果

facebook web端傳送應用通知邀請

facebook web端傳送應用通知邀請

相關文章