Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Let's Chat about WeChat... one year later

Alessio Basso
December 14, 2016

Let's Chat about WeChat... one year later

Alessio Basso

December 14, 2016
Tweet

More Decks by Alessio Basso

Other Decks in Technology

Transcript

  1. Disclaimer This presentation was prepared by the author in his

    personal capacity. All material used in this presentation is publicly available, and its use does not infringe any reserved right, “need to know” agreement or NDA that may have been signed by the Author, or by his employer on his behalf. The opinions herein expressed are the author's own and do not reflect the views of his employer.
  2. What’s the status of my order ORD-22746248?? (ORD)-\d{8} Hello Alessio!

    Your order number ORD-22746248 left our warehouse yesterday at 11:45pm HKT. You can track the shipment using this link: https://track.aftership.com/ 1ZXF14759096815439 Your server Tencent server In-chat SELECT * FROM ORDERS WHERE ID= ”ORD-22746248”
  3. SELECT * FROM ORDERS WHERE ID= ”ORD-22746248” What’s the status

    of my order ORD-22746248?? Hello Alessio! Your order number ORD-22746248 left our warehouse yesterday at 11:45pm HKT. You can track the shipment using this link: https://track.aftership.com/ 1ZXF14759096815439 Your server Tencent server In-chat
  4. Let me know when my order ORD-22746248 is delivered! Hello

    Alessio! Your order number ORD-22746248 have been delivered today at 11:45pm HKT. You can track the shipment using this link: https://track.aftership.com/ 1ZXF14759096815439 Your server Tencent server In-chat INSERT INTO NOTIF (id, event) VALUES (“ORD-22746248”, “delivered”); !
  5. Your server Tencent server In-Browser web page 2. open page

    in embedded web browser 1. send event message to your server (via Tencent)
  6. In-Browser IF a. page runs inside the WeChat browser b.

    page runs from an authorised domain c. page provide valid auth token/signature THEN page can use the WeChat JS API (via wx./jWeixin. object) When the page opens, you have to wait for the browser to call: wx.ready(function(){ // ... }); then you can start making calls to the WeChat JS API. wx.checkJsApi({ jsApiList: ['chooseImage'] // List of JS APIs to be checked. success: function(res) { // Key-value pairs, false for unavailable APIs // Example: // { "checkResult": {"chooseImage":true}, // "errMsg":"checkJsApi:ok" } }); Each API calls, as a result of its invocation, some callbacks: • success: ok • fail: ko • complete: called no matter what Some API have also: • cancel: if the API displays an UI with buttons and the user tap cancel • trigger: called when some menu items are clicked
  7. JavaScript API • Share on Moments/ Send to Chat •

    Image Picker/ Camera/ Image Preview/ Upload/ Download • Audio Record/Play/Upload/Download • Voice Dictation • Device Info and Network Status • Location ◦ View Location on a Map within WeChat ◦ Get Location • Interface Controls • Hide/ Display Top Right Menu • Hide/Close Current Window • Hide/ Display menu items and item groups • Scanning a QR Code • Coupons picker • Add/ View Coupons in WeChat Card Pack • WiFi hotspot • Request a payment (¥ amount from the user’s WeChat Wallet) ...this essentially is the “WeChat Platform” everyone’s talking about: some JS, and a web browser! http://admin.wechat.com/wiki/
  8. Mini-apps: • Login • UI widget library (animation, slides, pickers,

    …) • Canvas • Local data storage • Requests, Websockets • Image Picker/ Camera/ Image Preview/ Upload/ Download • Audio Record/Play/Upload/Download • Device Info and Network Status, Sensors (compass, accelerometer, ..) • File upload/management • Location ◦ View Location on a Map within WeChat ◦ Get Location • Scanning a QR Code • Coupons picker • Add/ View Coupons in WeChat Card Pack • Can be added to home screen • Request a payment (¥ amount from the user’s WeChat Wallet) ( https://pay.weixin.qq.com/wiki/doc/api/index.html ) https://mp.weixin.qq.com/debug/wxadoc/dev/api/?t=20161122
  9. ...beyond WeChat? WhatsApp have no public API, and actively ban

    numbers of applications that interface with their servers directly using FunXMPP. Line have what they call “Business Connect”. You can send/receive messages, and develop “channel web apps” similar to the way you do in WeChat official accounts.