Der Herausgeber erhielt die Führungsaufgabe, eine h5-Mobile-Aktivitätsseite zu schreiben, auf den Seiteninhalt zu klicken, um iOS und Android abzurufen und die Freigabefunktion (einschließlich WeChat, WeChat Moments, QQ, QQ Space usw.) zu entwickeln, die der Benutzer nicht angemeldet hat in. Sie können erst nach dem Anmelden etwas teilen. Nachdem die Freigabe erfolgreich war, können Sie eine Anfrage zur Bereitstellung einer Gutscheinfunktion stellen. Die folgenden Erfahrungen dienen nur als Referenz.
Es wird empfohlen, ShareSDK nicht zu verwenden
Laden Sie nützliche Informationen direkt hoch: Sie müssen nicht auf andere Bibliotheken verweisen
var u = navigator.userAgent;//Bestimmen Sie den Mobiltelefontyp//------------------------------------------------- ----------- ---Android-Telefon--------------------------------- -------------- ----------// if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) { //Android var callbackButton = document.getElementById ('btnImg'); //Den Knoten abrufen callbackButton.onclick = function (e) { e.preventDefault(); //Blockieren Sie die ursprüngliche Funktion if (userId == null) { //Überprüfen Sie, ob Sie angemeldet sind, falls nicht. WebViewJavascriptBridge.callHandler('loginAction', function (response) {})//Hier ist die h5-Seite dazu Rufen Sie die Android-Anmeldemethode auf} else {//Bereits angemeldet WebViewJavascriptBridge.callHandler('shareAction', { //Die h5-Seite ruft die Android-Methode auf, um die an Android übergebenen Parameter zu teilen, Inhalt: Du behandelst, ich bezahle die Rechnung, lade Freunde ein (Spaß) und buche gemeinsam eine Fahrt, // Geteiltes TextbildLinking: http://yueche-1254224848.cossh.myqcloud.com/che/%E5%B0%8F% E5% 9B%BE.jpg, // Geteilter Bild-URL-Titel: Fun Hail – wartet auf Sie an der Xinghai Square Station, // Geteilter Titel Bild-Url: http://agent.qyueche.com/sup/ShareSdk/xing.html, //Gemeinsame URL-Link-Plattform: [2, 3] //1 Sina Weibo 2 WeChat-Freunde 3 WeChat-Momente 4 QQ-Freunde 5 QQ Space 6 SMS } , function (response) {}) } } function connectWebViewJavascriptBridge(callback) {//Dies ist nach erfolgreicher Freigabe if (window.WebViewJavascriptBridge) { callback(WebViewJavascriptBridge) } else { document.addEventListener( 'WebViewJavascriptBridgeReady' , function() { callback(WebViewJavascriptBridge) }, false ); ;bridge.registerHandler('shareComplete', function (data, ResponseCallback) { //ios-Rückrufmethode, // Alert(data) if (data == 1) { //Wenn die Freigabe erfolgreich ist $.ajax({ //Anforderungsschnittstelle zum Empfangen von Gutscheinen Typ: get, ContentType: application/x-www -form-urlencoded, // URL: http://main.qyueche.com/api/coupon/receiveCoupon?userId= + userId + // &takeCouponType=2&couponId=176, URL: http://dev.qyueche.cn/api/coupon/receiveCoupon?userId= + userId + &takeCouponType=2&couponId=187, data: {}, dataType: json, success: function (data) { //Erfolgreich empfangen swal(data .message); }, Fehler: Funktion (XMLHttpRequest, textStatus, errorThrown) { //Fehler beim Empfang von swal('Fehler beim Empfang!'); } }) } else { //Fehler beim Teilen von swal('Fehler beim Teilen!' } }); , ResponseCallback) { //ios login method, userId = data; }) }) } else if (u.indexOf('iPhone') > -1) { //------------- --- ---------Apple Phone------- ----------------------------------// // swal(iPhone); function setupWebViewJavascriptBridge(callback) { if (window.WebViewJavascriptBridge) { return callback(WebViewJavascriptBridge); } if (window.WVJBCallbacks) { return window.WVJBCallbacks.push(callback); } ; var WVJBIframe = document.createElement('iframe'); WVJBIframe.style.display = 'none'; WVJBIframe.src = 'https://__bridge_loaded__'; document.documentElement.appendChild(WVJBIframe); setTimeout(function () { document.documentElement.removeChild(WVJBIframe) }, 0) } setupWebViewJavascriptBridge(function (bridge) { bridge.registerHandler('shareComplete', function (data, ResponseCallback) { //ios-Callback-Methode, if (data.code == 1) { //Wenn die Freigabe erfolgreich ist $.ajax({ //Anforderungsschnittstelle zum Empfangen von Coupons Typ : get, contentType: application/x-www-form-urlencoded, // URL: http://main.qyueche.com/api/coupon/receiveCoupon?userId= + userId + // &takeCouponType=2&couponId=176, URL: http://dev.qyueche.cn/api/coupon/receiveCoupon?userId= + userId + &takeCouponType=2&couponId=187, Daten: {}, dataType: json, Erfolg: Funktion (Daten) { //Erfolgreich empfangen swal(data.message); Fehler: Funktion (XMLHttpRequest, textStatus, errorThrown) { //Fehler beim Empfang von swal('Fehler beim Empfang!'); } }) } else { //Fehler beim Teilen von swal('Fehler beim Teilen!'); ('loginComplete', function (data, ResponseCallback) { //ios login method, userId = data.userId; }) var callbackButton = document.getElementById('btnImg'); //Den Knoten abrufen callbackButton.onclick = function (e) { //Click-Ereignis e.preventDefault(); //Die ursprüngliche Funktion verhindern if (userId == null) { //Siehe wenn Sie angemeldet sind bridge.callHandler('loginAction', function (response) {}) } else { bridge.callHandler('shareAction', { //An ios übergebener Parameterinhalt: Du behandelst, ich bezahle die Rechnung, lade Freunde ein (Spaß) und buche gemeinsam eine Fahrt, // Geteiltes TextbildLinking: http://yueche-1254224848.cossh.myqcloud.com/che/%E5%B0%8F% E5% 9B%BE.jpg, // Geteilter Bild-URL-Titel: Fun Hail – wartet auf Sie an der Xinghai Square Station, // Geteilter Titel Bild-Url: http://agent.qyueche.com/sup/ShareSdk/xing.html, //Gemeinsame URL-Link-Plattform: [2, 3] //1 Sina Weibo 2 WeChat-Freunde 3 WeChat-Momente 4 QQ-Freunde 5 QQ Space 6 SMS } , Funktion (Antwort) {}) } } }) }
Im Allgemeinen sind die Codeähnlichkeiten zwischen Android und iOS sehr ähnlich, aber die Codeplatzierung ist unterschiedlich. Es ist zu beachten, dass callHandler die Methode zum Aufrufen von Seiten in iOS oder Android und registerHandler die Methode zum Aufrufen von Seiten in iOS und Android ist .
Der Methodenname der Position des roten Kästchens im Bild wird vom h5-Seitenentwickler und dem iOS- und Android-Personal angepasst.
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich ist. Ich hoffe auch, dass jeder das VeVb Wulin Network unterstützt.