将twitter数字与cordova/phonegap应用程序集成?

Yan*_* Li 3 cordova ionic-framework twitter-fabric twitter-digits

Digit不久前发布了它的Web SDK,但是我在将它与我的phonegap/cordova应用程序集成时遇到了一些问题.

我尝试过使用inappbrowser插件,但由于数字使用postMessage api在windows之间传输数据,似乎apache永远不会支持cordova/phonegap(或至少它们需要永远 - https://issues.apache.org/jira/browse/CB-4897)这似乎没有那么好用.

我知道数字团队可能正在致力于与phonegap/cordova应用程序集成的解决方案,但目前没有,并且没有迹象表明何时会出现.

有没有解决方案将phonegap/cordova与twitter数字集成?

Yan*_* Li 5

我努力工作并研究了许多不同的东西,其中大部分都让我陷入了困境.

TJ VanToll已经使用inappbrowser插件向postMessage API 发布了一个很棒的工作,但是这似乎与我的android(我还没试过iphone)工作得很好.TJ的解决方案激发了我使用digit-cordova解决oAuth的问题.

您可以在https://github.com/yangli1990/digits-cordova.git找到我的解决方案

或者只是使用凉亭来安装它

请记住,如果面料团队提出了一种更加原生的方式来将数字与cordova/phonegap应用程序集成,那么这个解决方案将会过时.

bower install digits-cordova
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-inappbrowser.git

/* Optional cordova plugins */
cordova plugin add com.simonmacdonald.telephonenumber
cordova plugin add com.rjfun.cordova.sms
Run Code Online (Sandbox Code Playgroud)

此库运行良好,因为您还可以选择允许您的应用自动填充电话号码和位置,并拦截短信自动继续.

在你的HTML中确保你有适当的JavaScript链接

<!-- optional -->
<script type="text/javascript" src="bower_components/telephonenumber.js"></script>
<script type="text/javascript" src="bower_components/SMS.js"></script>

<!-- required -->
<script type="text/javascript" src="bower_components/inappbrowser.js"></script>
<script type="text/javascript" src="bower_components/digitsCordova.js"></script>
Run Code Online (Sandbox Code Playgroud)

在你的app.js中

function openDigits(){
  var digits = new DigitsCordova('gmoaaZhEG88hMQUdpWHnF1IAz'); //Replace with your own consumerKey
    digits.open()
        .successCallback(function(loginResponse){
            var oAuthHeaders = loginResponse.oauth_echo_headers;
            var verifyData = {
                authHeader: oAuthHeaders['X-Verify-Credentials-Authorization'],
                apiUrl: oAuthHeaders['X-Auth-Service-Provider']
            };

            $.post('/verify', verifyData)
                .done(function(){ window.reload(); });
        }).failCallback(function(error){
            //error
        }).errorCallback(function(error){
            //error
        })
}

openDigits();
Run Code Online (Sandbox Code Playgroud)

您可以在github页面上阅读有关api的信息,您可以选择打开或关闭自动填充和smsIntercept.