2013-07-16 48 views
1

我有一個基於Android的應用程序,我正在開發Glass應用程序作爲伴侶。添加新時間軸項目時更新捆綁套件

代碼的應用程序生命在兩個地方:

  • 的Web應用程序(OAuth認證/令牌創建,創建訂閱,處理通知,從谷歌服務器回調)
  • Android應用(創建共享式接觸,刪除共享聯繫人併爲「相冊」創建捆綁包)

處理完所有OAuth身份驗證並與Mirror API進行通信後,用戶可以在Android應用程序中創建共享聯繫人。該流程的一部分包括創建一個時間線項目,作爲相冊的封面封面。

在Glass上,當用戶與該聯繫人共享照片時,我的網絡應用程序中的通知處理程序會將照片分配給建立共享聯繫人時創建的包。

所有這些工作正常 - 沒有問題。

我遇到的情況是,7天后,時間線卡開始從Glass界面下落。這包括我的「相冊」的封面封面。

很明顯,我需要更新捆綁包才能保持活動狀態,但我不太確定如何做到這一點(沒有快速翻閱我的配額,就是這樣)。使用Mirror API,我已經能夠從時間線中檢索項目,然後檢查每個項目的包裹(基於包ID和isBundleCover標誌) - 但是,如果要保存每個1000個請求,這是非常低效的天。我是否僅僅以不適合的方式使用包?

是否有一種更容易,更有效的方式獲取捆綁套並僅更新它,使其在7天后不會脫離時間軸?在某種程度上,似乎我不應該在每次分享新照片時更新包,但我不確定替代方案。

正如我所提到的,該軟件包是在Android應用程序中創建的,並且該ID被提交給Web應用程序和Android應用程序共享的後端數據庫。在使用bundleID查詢該數據庫以獲取捆綁包的原始ItemID之後,我不確定如何使通知處理程序中的捆綁ItemID可訪問。

謝謝你的任何建議!

回答

3

當它涉及到維護API配額將你的包蓋的itemID保存在自己的數據存儲,需要

除此之外,還有一些事情的時候從那裏取回你所提到的最有效的方法您可以通過Mirror API更輕鬆地在時間線上查找卡片,因爲timeline.list方法提供了一些額外的參數來縮小結果範圍。

  1. ?bundleId=yourBundleId

    這隻會返回與所提供的bundleId結果,這取決於有多少卡在你的包,你會發現第一個結果頁面上進行必要的卡,這樣就只需要一個API請求

  2. &sourceItemId=something

    如果你的包越來越相當大,這樣的包蓋不會在第一個結果頁面上可以發現,有一兩件事你可以做的是另外的請定義一個sourceItemId,您只將其設置爲包裹封面,而不包含包裹內的其他卡片。這種方式尋找bundleId + sourceItemId(你也可以設置爲相同的bundleId,使其更容易)將只有一個項目,捆綁包的結果。

使用那些你應該能夠找到正確的卡在一個請求,並在第二個請求更新的方法。

+0

感謝您對我的理論的評論和確認,以瞭解如何處理更新。如果在接下來的幾天內沒有提交其他想法,我會接受這個答案。再次感謝! – Kyle