2014-04-09 80 views
0

(當我說「APP」我只是在談論Android的,我不會去嘗試處理蘋果)HTML5 Android通知,(英特爾XDK?)

所以我有一個網站,我d喜歡爲其開發Android應用程序。我需要做的只是顯示網站(如果從應用程序訪問,它會改變一些樣式),我可以做得很好。

我使用英特爾XDK,它很棒。但它提供的通知選項似乎只是羣發通知的東西,而不是個性化的。

我想要做的就是能夠告訴用戶何時從我的網站獲得通知(如來自其他用戶的消息)。

我看遍了整個地方几個小時,找不到任何有用的東西。有很多非常複雜的Java代碼和教程,但我甚至不知道Java。我只是一個Web開發人員,我所需要的只是一個讓用戶更容易檢查網站的應用程序。

我希望有一些Java文件在那裏,我可以以某種方式發送數據,這將允許我在Android系統上創建和刪除推送通知。也許是一個HTML5庫或JS功能,我不知道。

我簡直無法自己實現它,而且我絕對不會學習一個完整的垂死語言,只是爲了一件基本的事情,應該很簡單。任何你們可以提供的將不勝感激。最好我想得到一個Java文件,我可以下載並放到我的應用程序中,通知,然後我可以編輯它來說明我需要它或什麼(我也很想讓通知消失的方法[如果用戶在用手機看到它之前在其他設備上看到它))。我還需要知道如何調用這個Java文件,使其檢查服務器上的通知或其他。

我知道這都是非常不好的東西,但我運行一個獨立的網站,根本沒有時間學習所有這些東西,當我的需求是如此基本。提前致謝。

+0

正如你所看到的,我對此感到非常沮喪。它應該是更簡單。 – user1890386

回答

0

您可以使用appMobi進行推送消息傳遞,請參閱文檔http://docs.appmobi.com/index.php/push-messages/pushjsapi/。您可以在英特爾XDK的服務選項卡中設置您的appMobi帳戶。

//Check if user is registered 
var onDeviceReady=function() { 
    //See if the push user exists already 
    //You can send any unique user id and password. 
    AppMobi.notification.checkPushUser(AppMobi.device.uuid, AppMobi.device.uuid); 
}; 
document.addEventListener("appMobi.device.ready",onDeviceReady,false); 


//if user is not registered, register them 
var isUserAdded = false; 
var notificationsRegistered=function(event) { 
    if(event.success === false) { 
     if (!isUserAdded) { 
      isUserAdded= true; 
      AppMobi.notification.addPushUser(AppMobi.device.uuid, 
               AppMobi.device.uuid, 
              '[email protected]'); 
      return; 
     } 
     AppMobi.notification.alert("Notifications Failed: " + event.message, 
            "My Message","OK"); 
     return; 
    } 
    var msg = event.message || 'success'; 
    AppMobi.notification.alert("Notifications Enabled: " + msg, 
           "My Message","OK"); 
}; 
document.addEventListener("appMobi.notification.push.enable", 
          notificationsRegistered,false); 

//when push message event is found get notification 
var receivedPush = function(){ 
    var myNotifications=AppMobi.notification.getNotificationList(); 
    //It may contain more than one message, so iterate over them 
    var len=myNotifications.length; 
    if(len > 0) { 
     for(i=0; i < len; i++) { 
      msgObj=AppMobi.notification.getNotificationData(myNotifications[i]); 
      try{ 
       if(typeof msgObj == "object" && msgObj.id == myNotifications[i]){ 
        AppMobi.notification.alert(msgObj.msg + "\n" + msgObj.data 
        + "\n" + msgObj.userkey,"pushMobi Message","OK"); 
        //Always delete messages after they are shown 
        AppMobi.notification.deletePushNotifications(msgObj.id); 
        return; 
       } 
       AppMobi.notification.alert("Invalid Message Object: " + i, 
              "My Message","OK"); 
      }catch(e){ 
       AppMobi.notification.alert("Caught Exception For: " + msgObj.id, 
              "My Message","OK"); 
       AppMobi.notification.deletePushNotifications(msgObj.id); 
      } 
     } 
    } 
}; 
document.addEventListener("appMobi.notification.push.receive", receivedPush, false); 


//send a push notification from your website 
AppMobi.notification.sendPushNotification(myAppMobiUserID,"new website blog posted!",{}); 
document.addEventListener("appMobi.notification.push.send",updateNotificationEvent,false); 
var updateNotificationEvent=function(event) 
{ 
    if(event.success==false) 
{ 
    alert("error: " + event.message) 
} 
    else 
    { 
     alert("success"); 
    } 
} 

您還可以使用Parse.com API,但我不相信訂閱頻道的JavaScript API完全沖洗掉我最後一次檢查,看https://www.parse.com/docs/push_guide#top/JavaScript

Parse.initialize("YOUR KEY", "HERE"); 

// Save the current Installation to Parse. 
ParseInstallation.getCurrentInstallation().saveInBackground(); 

您可以通過Web控制檯使用,然後發送推送通知,或在您的網站:

//The following code will push the alert to the "Winterhawks" and "Oil Kings" channels. 
Parse.Push.send({ 
    channels: [ "Winterhawks", "Oil Kings" ], 
    data: { 
     alert: "The Winterhawks won against the Oil Kings!" 
    } 
    }, { 
    success: function() { 
    // Push was successful 
    }, 
    error: function(error) { 
    // Handle error 
    } 
}); 

訂閱渠道還沒有爲JavaScript實現爲據我所知,所以你必須使用REST或本地API。