短信未使用Branch.io和intl tel输入发送到intl号码

SMS not sending to intl numbers using Branch.io and intl-tel-input

本文关键字:intl 输入 号码 tel 未使用 Branch io      更新时间:2023-09-26

我的表单将只发送到10位美国数字。一旦选定国家/地区,我想将号码发送给Intl。在查看了Intl Tel Input文档后,可能需要此代码,但我对此没有任何运气:myInput.val(myInput.intlTelInput("getNumber"));

这是Branch.io给我发的应用程序文档,主要是下面使用phoneSMS更新的代码。

如何使用branch.io和Intl Tel Input向Intl发送号码?

 <script type="text/javascript">
            (function(b,r,a,n,c,h,_,s,d,k){if(!b[n]||!b[n]._q){for(;s<_.length;)c(h,_[s++]);d=r.createElement(a);d.async=1;d.src="https://cdn.branch.io/branch-latest.min.js";k=r.getElementsByTagName(a)[0];k.parentNode.insertBefore(d,k);b[n]=h}})(window,document,"script","branch",function(b,r){b[r]=function(){b._q.push([r,arguments])}},{_q:[],_v:1},"addListener applyCode banner closeBanner creditHistory credits data deepview deepviewCta first getCode init link logout redeem referrals removeListener sendSMS setIdentity track validateCode".split(" "), 0);
branch.init('YOUR-BRANCH-KEY');
            function sendSMS(form) {
                var phone = form.phoneSMS.value;
                var linkData = {
                    tags: [],
                    channel: 'Website',
                    feature: 'TextMeTheApp',
                    data: {
                        'foo': 'bar'
                    }
                };
                var options = {};
                var callback = function(err, result) {
                    if (err) {
                        alert("Sorry, something went wrong.");
                    }
                    else {
                        alert("SMS sent!");
                    }
                };
                branch.sendSMS(phone, linkData, options, callback);
                form.phone.value = "";
            }
        </script>

HTML

<form onsubmit="sendSMS(this); return false;">
<input type="tel" name="phoneSMS" id="phoneSMS">
<input type="submit"/>
</form>

国际电话输入插件:

<script type="text/javascript" src="{{ site.baseurl }}js/intlTelInput.js"></script> 
  <script>
      $("#phoneSMS").intlTelInput({
        utilsScript: "{{ site.baseurl }}/js/utils.js"
      });
  </script>

Branch.io的Alex在这里:Branch确实支持国际电话号码,并具有应用程序文本功能,我们希望在不久的将来集成像Intl Tel Input这样的国家/地区选择器。

现在,您需要手动附加国家代码+。我们在这里的文档中有一节描述了这一点(它有点被掩盖了…对不起!)。基本上,你需要用var phone = "+91" + form.phone.value;更新这个片段,如下所示:

<script type="text/javascript">
           (function(b,r,a,n,c,h,_,s,d,k){if(!b[n]||!b[n]._q){for(;s<_.length;)c(h,_[s++]);d=r.createElement(a);d.async=1;d.src="https://cdn.branch.io/branch-latest.min.js";k=r.getElementsByTagName(a)[0];k.parentNode.insertBefore(d,k);b[n]=h}})(window,document,"script","branch",function(b,r){b[r]=function(){b._q.push([r,arguments])}},{_q:[],_v:1},"addListener applyCode banner closeBanner creditHistory credits data deepview deepviewCta first getCode init link logout redeem referrals removeListener sendSMS setIdentity track validateCode".split(" "), 0);
branch.init('YOUR-BRANCH-KEY');
           function sendSMS(form) {
               var phone = "+91" + form.phone.value;
               var linkData = {
                   tags: [],
                   channel: 'Website',
                   feature: 'TextMeTheApp',
                   data: {
                       'foo': 'bar'
                   }
               };
               var options = {};
               var callback = function(err, result) {
                   if (err) {
                       alert("Sorry, something went wrong.");
                   }
                   else {
                       alert("SMS sent!");
                   }
               };
               branch.sendSMS(phone, linkData, options, callback);
               form.phone.value = "";
           }
       </script>

理论上,您应该能够将Intl Tel Input的输出输入到该变量中。

如果你真的成功了,请告诉我!我们希望将其直接集成到SDK中。

用国际前缀为数字做前缀的最简单方法是在sendSMS()函数中使用var phone = form.phoneSMS.value来更新它,以向intlTelInput本身询问数字-它为您提供了国际格式。

示例:

var phone = $('#phoneSMS').intlTelInput("getNumber")

如需进一步参考,请查看intlTelInput的公共方法。