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

时间:2015-04-03 06:04:12

标签: 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数字集成?

2 个答案:

答案 0 :(得分:5)

我努力学习并研究了很多不同的东西,其中大部分都让我陷入了困境。

TJ VanToll已经使用inappbrowser插件向postMessage API发布了一个很棒的work around,但是这似乎与我的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

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

在你的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>

在你的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();

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

答案 1 :(得分:-1)

你的工作很棒。因为它很难实施。我试试你的API,但它并不完美。即一些工作,但有些工作没有。喜欢不打开键盘,当我专注于文本框而不打开国家的弹出菜单....如果你给我一些建议,所以你的欢迎......