0.0.2 • Published 5 months ago

callapp-5e v0.0.2

Weekly downloads
-
License
-
Repository
-
Last release
5 months ago

Web唤醒 App

  • 微信内部打开: 添加蒙层浏览器打开

  • Android: 打开App,唤醒失败则打开对应的应用商店或应用宝,都失败的话 则跳转下载链接

  • IOS: 打开App,唤醒失败失败则跳转appstore

用法

支持script外链引用

<script src="../../dist/index.umd.js"></script>
<script>
window.onload = function () {
    var vConsole = new window.VConsole();
    const callapp = new CallApp({
        isShowMask: true,
        urlScheme: 'snssdk141://search?keyword=cxk',
        failCallAppCb: failCallAppCb,
        universalLink: '',
        appstore: 'https://apps.apple.com/cn/app/%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1/id529092160',
        yybLink: 'https://a.app.qq.com/o/simple.jsp?android_scheme=snssdk143%3A%2F%2Fdetail%3Fgd_ext_json%3D%257B%2522__type__%2522%253A%2522wap%2522%252C%2522parent_group_id%2522%253A%25227311104976632283648%2522%252C%2522parent_rid%2522%253A%252216929978202522220169%2522%252C%2522traffic_type%2522%253A%2522weixin%2522%252C%2522page_type%2522%253A%2522article%2522%252C%2522label%2522%253A%2522click_wap_hly_houtiaoPCzhan%2522%252C%2522position%2522%253A%252214799599715000246%2522%252C%2522site_id%2522%253A%25225000246%2522%257D%26gd_label%3Dclick_wap_hly_houtiaoPCzhan%26groupid%3D7311104976632283648%26needlaunchlog%3D1%26zlink%3Dhttps%253A%252F%252Farticle.zlink.toutiao.com%252FrEPW%26zlink_click_time%3D1702522223777%26zlink_clipboard_uniq_id%3D02170252222360300000000000000000000ffff0a9c2f918c9ca4%26zlink_data%3D%257B%2522position%2522%253A%2522topbanner%2522%252C%2522gid%2522%253A%25227311104976632283648%2522%252C%2522utm_source%2522%253A%2522%2522%252C%2522share_token%2522%253A%2522%2522%252C%2522web_id%2522%253A%2522%2522%257D%26zlink_verify%3D472556&ckey=CK1459794838355&pkgname=com.ss.android.article.news'
    })
    document.getElementById('awaken').addEventListener('click', () => {
        callapp.openApp()
        console.info(callapp.getPlatform())
    })
}

function failCallAppCb() {
    console.info('唤醒失败')
}
</script>

支持npm包引用

import { useEffect, useRef } from 'react'
import './App.css'
import CallApp from 'callapp-5e'

type Awaken = CallApp

function App() {
  const awakenApp = useRef<Awaken>()
  useEffect(() => {
    awakenApp.current = new CallApp({isShowMask: true,
      urlScheme: 'snssdk141://search?keyword=cxk',
      failCallAppCb: failCallAppCb,
      universalLink: '',
      appstore: 'https://apps.apple.com/cn/app/%E4%BB%8A%E6%97%A5%E5%A4%B4%E6%9D%A1/id529092160',
      yybLink: 'https://a.app.qq.com/o/simple.jsp?android_scheme=snssdk143%3A%2F%2Fdetail%3Fgd_ext_json%3D%257B%2522__type__%2522%253A%2522wap%2522%252C%2522parent_group_id%2522%253A%25227311104976632283648%2522%252C%2522parent_rid%2522%253A%252216929978202522220169%2522%252C%2522traffic_type%2522%253A%2522weixin%2522%252C%2522page_type%2522%253A%2522article%2522%252C%2522label%2522%253A%2522click_wap_hly_houtiaoPCzhan%2522%252C%2522position%2522%253A%252214799599715000246%2522%252C%2522site_id%2522%253A%25225000246%2522%257D%26gd_label%3Dclick_wap_hly_houtiaoPCzhan%26groupid%3D7311104976632283648%26needlaunchlog%3D1%26zlink%3Dhttps%253A%252F%252Farticle.zlink.toutiao.com%252FrEPW%26zlink_click_time%3D1702522223777%26zlink_clipboard_uniq_id%3D02170252222360300000000000000000000ffff0a9c2f918c9ca4%26zlink_data%3D%257B%2522position%2522%253A%2522topbanner%2522%252C%2522gid%2522%253A%25227311104976632283648%2522%252C%2522utm_source%2522%253A%2522%2522%252C%2522share_token%2522%253A%2522%2522%252C%2522web_id%2522%253A%2522%2522%257D%26zlink_verify%3D472556&ckey=CK1459794838355&pkgname=com.ss.android.article.news'
    })
  }, [])
  const failCallAppCb = () => {
    alert('唤醒失败')
  }
  const openApp = () => {
    awakenApp.current?.openApp()
  }

  return (
    <>
      <div>
        <button onClick={openApp}>唤醒今日头条</button>
      </div>
    </>
  )
}

参数

const options = {
  // URL Scheme
  urlScheme?: string
  // universalLink
  universalLink?: string
  // App Store
  appstore?: string
  // android 商店平台
  androidMarket?: string
  // 下载地址
  androidDownloadUrl?: string
  // 超时时间
  timeout?: number
  // 特殊应用内部: 微信 是否显示蒙层
  isShowMask?: boolean
  // 唤醒失败的callback
  failCallAppCb?(f: {type: string, err: string, time: number}): void
}
const callApp = new CallApp(options)

API

openApp 打开App

callApp.openApp()

getPlatform 获取浏览器/平台 等信息

callApp.getPlatform()

Need TODO

  • 微信内部唤醒App
  • 唤醒小程序
  • 各平台兼容处理

参考

  1. 常用的 URL Scheme
0.0.2

5 months ago

0.0.1

5 months ago