尤物精品_gay小说高h_成人免费va视频_涩涩18网站

利用剪切板,利用剪切板移動的四個步驟-ESG跨境

利用剪切板,利用剪切板移動的四個步驟

來源網絡
來源網絡
2022-07-05
點贊icon 0
查看icon 1026

利用剪切板,利用剪切板移動的四個步驟利用剪切板寫在前面雖然在國內用whatsapp的人不多,但在香港等地方大部分還是用whatsapp,這一章我們來討論討論怎么添加表情到whatsapp,也可以看whatsapp的Guide它里面主要介紹的是利用它的lib來集成,有現成的案例,這里就不多說了。我們主要談論下怎么利用剪切......

利用剪切板,利用剪切板移動的四個步驟




利用剪切板

寫在前面

雖然在國內用whatsapp的人不多,但在香港等地方大部分還是用whatsapp,這一章我們來討論討論怎么添加表情到whatsapp,也可以看whatsapp的Guide

它里面主要介紹的是利用它的lib來集成,有現成的案例,這里就不多說了。

我們主要談論下怎么利用剪切板來添加,也就是第二種方法。當然這添加的表情也是來自本地的,如果需要從server獲取也可以,但相對來說會麻煩一點,但確實是可以的。

·圖片的格式、大小等,請看guide,本文只討論發國際快遞whatsapp

開始

·在Info.plist中添加,

keyLSApplicationQueriesSchemes/key

  array

    stringwhatsapp/string

  /array

我們都知道LSApplicationQueriesSchemes的作用是為了雙方測試。加這個可以判斷你的手機是否安裝了whatsapp。

判斷安裝,如果沒有安裝whatsapp return false;

func canSend() Bool {

    return UIApplication.shared.canOpenURL(URL(string: whatsapp://)!)

}

使用下面描述的結構將貼紙數據格式化為JSON對象,

{

ios_app_store_link : String,

android_play_store_link : String,

identifier : String,

name : String,

publisher : String,

tray_image : String, (Base64 representation of the PNG, not WebP, data of the tray image)

stickers : [

  {

   image_data : String, (Base64 representation of the WebP, not PNG, data of the sticker image)

   emojis : [String, String] (Array of emoji strings. Maximum of 3 emoji)

  }

]

}

·重要

tray_image使用PNG,而image_data使用WebP,再轉成data string的形式

一次只能發快遞一個貼紙包

·步驟

我們需要先將數據復制到Pasteboard

然后再打開whatsapp://stickerPack,它會跳到whatsapp,之后whatsapp會自己從Pasteboard中獲取sticker

代碼

import UIKit

struct Interoperability {

  // whatsapp guide 中說不要包含這個Id.

  private static let DefaultBundleIdentifier: String = WA.WAStickersThirdParty

  private static let PasteboardExpirationSeconds: TimeInterval = 60

  // 請保持這個.

  private static let PasteboardStickerPackDataType: String = net.whatsapp.thirdparty.stickerpack

  private static let WhatsAppURL: URL = URL(string: whatsapp://stickerPack)!

  static var iOSAppStoreLink: String = https://itunes.apple.com....;

  static var AndroidStoreLink: String = https://play.google.com/....;

  static func canSend() Bool {

    return UIApplication.shared.canOpenURL(URL(string: whatsapp://)!)

  }

  // 這個json 的格式就是上面的格式, 有一點值得說的是:tray_image / image_data 需要轉成data string 來存儲

  // 就是要把你的image 轉化成data,再轉換成String.

  static func send(json: [String: Any]) Bool {

    // 判斷id 是否合法

    if let bundleIdentifier = Bundle.main.bundleIdentifier {

      if bundleIdentifier.contains(DefaultBundleIdentifier) {

        fatalError(Your bundle identifier must not include the default one.);

      }

    }

    let pasteboard: UIPasteboard = UIPasteboard.general

    var jsonWithAppStoreLink: [String: Any] = json

    jsonWithAppStoreLink[ios_app_store_link] = iOSAppStoreLink

    jsonWithAppStoreLink[android_play_store_link] = AndroidStoreLink

    guard let dataToSend = try  JSONSerialization.data(withJSONObject: jsonWithAppStoreLink, options: []) else {

      return false

    }

    // 從iOS 10 開始Pasteboard,有新的api

    if #available(iOS 10.0, *) {

      pasteboard.setItems([[PasteboardStickerPackDataType: dataToSend]], options: [UIPasteboardOption.localOnly: true, UIPasteboardOption.expirationDate: NSDate(timeIntervalSinceNow: PasteboardExpirationSeconds)])

    } else {

      pasteboard.setData(dataToSend, forPasteboardType: PasteboardStickerPackDataType)

    }

    DispatchQueue.main.async {

      if canSend() {

        if #available(iOS 10.0, *) {

          UIApplication.shared.open(WhatsAppURL, options: [:], completionHandler: nil)

        } else {

          UIApplication.shared.openURL(WhatsAppURL)

        }

      }

    }

    return true

  }

}

從server來

·如果表情是根據api get獲得。一般表情包很小的,可以讓server把表情包轉換成data string,再派過來。以類似上面send方法中的json格式,然后也可以,這樣的話server要做的事就會多一點。

·如果server不想轉成data string,那可以讓server先將表情包zip,call api get到后,再unzip.unzip后自己再轉換成data string,這樣也可以。


文章推薦
將 Azure 存儲用于 SQL Server 備份和還原,azuresqlserver
領英大師如何導出領英好友資料,領英大師如何導出領英好友資料
開發者以實際案例談策略游戲中玩家的四類行動
你一定要知道TikTok運營的技巧,教人運營tiktok


特別聲明:以上文章內容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關于作品內容、版權或其它問題請于作品發表后的30日內與ESG跨境電商聯系。

搜索 放大鏡
韓國平臺交流群
加入
韓國平臺交流群
掃碼進群
歐洲多平臺交流群
加入
歐洲多平臺交流群
掃碼進群
美國賣家交流群
加入
美國賣家交流群
掃碼進群
ESG跨境專屬福利分享群
加入
ESG跨境專屬福利分享群
掃碼進群
拉美電商交流群
加入
拉美電商交流群
掃碼進群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進群
亞馬遜跨境增長交流群
加入
亞馬遜跨境增長交流群
掃碼進群
拉美電商交流群
加入
拉美電商交流群
掃碼進群
ESG獨家招商-PHH GROUP賣家交流群
加入
ESG獨家招商-PHH GROUP賣家交流群
掃碼進群
2025跨境電商營銷日歷
《2024年全球消費趨勢白皮書——美國篇》
《2024TikTok出海達人營銷白皮書》
《Coupang自注冊指南》
《eMAG知識百科》
《TikTok官方運營干貨合集》
《韓國節日營銷指南》
《開店大全-全球合集》
《TikTok綜合運營手冊》
《TikTok短視頻運營手冊》
通過ESG入駐平臺,您將解鎖
綠色通道,更高的入駐成功率
專業1v1客戶經理服務
運營實操指導
運營提效資源福利
平臺官方專屬優惠

立即登記,定期獲得更多資訊

訂閱
聯系顧問

平臺顧問

平臺顧問 平臺顧問

微信掃一掃
馬上聯系在線顧問

icon icon

小程序

微信小程序

ESG跨境小程序
手機入駐更便捷

icon icon

返回頂部