Inexact repeating alarms.
Infinitely better than
exact repeating alarms,
but still far from ideal.
The problem with any kind
of repeating alarm
is that it's still polling
your server to check for updates.
So the more frequently you poll,
the fresher the data you can display
but the higher the cost in battery life.
You can pull as frequently
to conserve battery
but that just means
your content will be stale
for longer.
You could just let the user decide
the update frequency themselves,
but then you lose the magic.
If only there was a better way.
Is such a thing possible?
Yes it is.
Google cloud messaging
lets your server notify your app
directly when there's data ready
to be downloaded.
Or it can even
include the new data
in the message payload itself.
Using Google Cloud Messaging,
you can send messages from
your server to any installed instance
of your app via the Google Cloud.
As a result, you can stop polling,
which will immediately
improve battery life
and also improve
the freshness of your app.
And instead, rely on your server
notifying clients when
there's data to sync.
These messages can be simple tickles,
that trigger a sync adapter
by notifying your app
that there is new data
or need to download.
Or you can include the new data
within the message payload.
In the sunshine example,
we're using someone else's server.
But even then,
it may make sense to create
your own middle tier
that pulls the source
and notifies your installed app instances
when it notices a change.
Now we're not going to set up
a server in this lesson,
but you can see the full details
for using Google cloud messaging
from the developer guide
linked to instructor nets.
.تنبيهات متكررة غير دقيقة
بالتأكيد هي أفضل من
،تنبيهات متكررة دقيقة
.ولكنها لا تزال لم ترقَ إلى المستوى المثالي
تتمثل المشكلة في أي نوع من
تنبيه متكرر
في أنه لا يزال يقوم بالتحقق
.من الخادم للتحقق من وجود التحديثات
،لذا، كلما زادت مرات التحقق
صارت البيانات التي تعرضونها أكثر تحديثًا
.ولكن ارتفعت التكلفة في عمر البطارية
يمكنكم إجراء التحقق بالقدر
الذي يحافظ على البطارية
ولكن قد يعني ذلك
أن يكون المحتوى قديمًا
.لفترة أطول
ويمكنكم السماح للمستخدم
بتقرير عدد مرات التحديث بنفسه
.ولكن عندئذ تفقدون سحر البرمجة
.ليتنا نجد طريقة أفضل
هل هذه الأمنية ممكنة؟
.أجل
تسمح المراسلة السحابية من Google
للخادم بإخطار التطبيق
مباشرة حينما تكون هناك بيانات جاهزة
.ليتم تنزيلها
أو يمكن تضمين
البيانات الجديدة
.في حمولة الرسائل نفسها
،باستخدام المراسلة السحابية من Google
يمكنكم إرسال الرسائل من
الخادم إلى أي مثيل
.للتطبيق مثبت عبر Google Cloud
،ونتيجة لذلك، يمكنكم التوقف عن التحقق
مما يؤدي
إلى تحسين عمر البطارية
وتحسين كذلك
.تحديث التطبيق
فبدلاً من الاعتماد على الخادم
في إخطار العملاء عند
.وجود بيانات مطلوب مزامنتها
فيمكن أن تكون هذه الرسائل وخزة بسيطة
تقوم بتشغيل محول المزامنة
من خلال إخطار التطبيق
أنه توجد بيانات جديدة
.أو يلزم تنزيلها
أو يمكنكم تضمين
.البيانات الجديدة في حمولة الرسائل
،في مثال sunshine
.إننا نستخدم خادم شخص آخر
،ولكن حتى إن كان الأمر كذلك
فمن الأفضل إنشاء
الطبقة الوسطى
التي تسحب المصدر
وتخطر مثيلات التطبيق
.التي تم تثبيتها عند ملاحظة أي تغيير
الآن، إننا لن نقوم بإعداد
الخادم في هذا الدرس
ولكن يمكنكم مشاهدة التفاصيل بالكامل
لاستخدام المراسلة السحابية من Google
من دليل المطور
.المتوفر رابطه في ملاحظات المدرب
Las alarmas repetitivas inexactas
son mucho mejores que las exactas,
pero siguen sin ser lo ideal.
El problema con las alarmas repetitivas
es que siguen sondeando el servidor
para comprobar si hay actualizaciones.
A mayor frecuencia de comprobación,
mayor actualidad de la información,
pero supone un gasto mayor en batería.
Se puede comprobar menos veces
para conservar la batería,
pero así el contenido estará
más tiempo sin actualizar.
Puedes dejar que el usuario decida
la frecuencia de actualización,
pero entonces se pierde la magia.
Ojalá hubiera un modo mejor.
¿Pero es que es posible? Sí, lo es.
Google Cloud Messaging permite
que el servidor avise a la aplicación
cuando hay información
lista para descargar.
O puede incluir la nueva información
en la carga de los mensajes.
Mediante Google Cloud Messaging
puedes enviar mensajes desde el servidor
a cualquier instancia de la aplicación
a través de la nube de Google.
Así, puedes dejar de realizar sondeos,
lo que prolongará la duración de la batería
y mejorará la actualización
de la aplicación.
En su lugar, el servidor se encarga
de notificar a los clientes
cuando los datos se pueden sincronizar.
Los mensajes pueden activar
un adaptador de sincronización
que notifique a la aplicación
de que hay que descargar nuevos datos,
o bien incluir esos datos
en la carga del mensaje.
En el ejemplo de Sunshine,
usamos el servidor de otra persona.
Aun así, puede tener lógica
crear un nivel intermedio
que sondee la fuente
y notifique a las instancias
de la aplicación cuando haya cambios.
No vamos a instalar un servidor
en esta lección,
pero puedes ver cómo se usa
Google Cloud Messaging
en la guía de desarrolladores
enlazada en "Instructor Notes".
Pengulangan alarm tak tepat.
Tentu lebih baik dari
pengulangan alarm yang tepat,
tapi masih jauh dari ideal.
Masalah dengan segala pengulangan alarm
yaitu masih meminta server untuk
mengecek update.
Semakin sering meminta, semakin baru
data yang ditampilkan
namun baterai makin cepat habis.
Anda dapat menarik sesekali agar
baterai awet
tapi itu artinya konten akan stagnan
lebih lama.
Anda cukup membiarkan pengguna menentukan
frekwensi update,
tapi keajaibannya akan hilang.
Andai ada cara lebih baik.
Apakah itu mungkin?
Tentu saja.
Google cloud messaging membuat server Anda
langsung mengingatkan app
saat ada data yang siap diunduh.
Atau bahkan termasuk data baru
dalam payload pesan itu sendiri.
Dengan Google Cloud Messaging,
kita dapat mengirim pesan
dari server ke semua instance yang
diinstal dari app
lewat Google Cloud.
Hasilnya, Anda dapat berhenti polling,
yang langsung menghemat baterai
dan juga menambah kesegaran app.
Tapi, andalkan klien penotifikasi server
bila ada data untuk sync.
Pesan ini bisa jadi sentuhan kecil,
yang memicu sync adapter dengan
menotifikasi app kita
bahwa ada data baru siap diunduh.
Atau Anda dapat memasukkan data baru
di dalam payload pesan.
Di contoh Sunshine, kita gunakan
server orang lain.
Meski begitu, masuk akal untuk membuat
tier tengah sendiri yang menarik sumber
dan menotifikasi instances dari app Anda
ketika menyampaikan perubahan.
Kita tak akan mengatur server di sini,
tapi Anda dapat melihat seluruh detail
tentang penggunaan Google Cloud Messaging
dari developer guide yang ditautkan di
catatan instruktur.
不正確な繰り返しアラームは
同じ時間に繰り返すアラームより
はるかによいですが理想には程遠いです
繰り返しアラームの問題点はアップデートを
確認するためにサーバへポーリングすることです
頻繁にポーリングすれば
表示データは新しくなりますが
バッテリの寿命は短くなってしまいます
バッテリを節約しようとすると
今度は内容のアップデートが遅れてしまいます
ユーザにアップデートの頻度を
決めさせることもできますが
アプリのよさが発揮されません
もっとよい方法はないでしょうか?
実はあるのです
Googleクラウドメッセージングを使えば
ダウンロード可能なデータが発生した時に
サーバから直接アプリへ通知することができます
ペイロードの中に新しいデータを
入れて送信することもできます
Googleクラウドメッセージングは
Googleクラウドを経由して
サーバからインストールされたアプリの
インスタンスへメッセージを送信するのです
これを使えばポーリングを止めることができ
バッテリの寿命を節約しつつ
アプリも新しくできます
同期するデータをクライアントに
通知するのはサーバです
このメッセージは新しいデータや
ダウンロードすべきものを
アプリに通知して
SyncAdapterの同期を促すのです
またペイロード内の新しいデータも同期できます
Sunshineでは第三者のサーバを利用していますが
その場合でも変化を伝えるためのソースを取得し
アプリのインスタンスに通知する中間層を
作成することは意味があります
このレッスンではサーバの設定は行いませんが
Googleクラウドメッセージングの詳細については
講師メモの開発者用ガイドをご覧ください
부정확한 반복 알람은
정확한 반복 알람보다는 훨씬 낫겠지만
여전히 완벽과는 거리가 멉니다
반복알람들의 공통적인 문제는
여전히 업데이트를 확인하기 위해
서버를 폴링한다는 것이에요
자주 폴링하면 할수록
더 최신 데이터를 출력할 수 있지만
배터리 소모량이 많아집니다
배터리를 보존하기 위해서
폴링 주기를 늘린다면
갱신되지 않은 컨텐츠가 오랫동안 남아 있게 되죠
사용자로 하여금 스스로 업데이트 빈도를
결정하게 할 수도 있지만
앱이 다 알아서 해 준다는 느낌이 덜하죠
더 좋은 방법이 있을까요?
그런 게 가능하긴 할까요?
네 그렇습니다
구글 클라우드 메시징은
다운로드될 준비가 된 데이터가 생기면
서버에서 앱에 알리도록 합니다
혹은 아예 메시지 payload 안에
그 데이터를 포함시켜 보낼 수도 있어요
구글 클라우드 메시징은
구글 클라우드를 통해
서버에서 앱의 어느 인스턴스에라도
메세지를 보낼 수 있습니다
그 결과 폴링을 멈추게 됩니다
그러면 즉시 배터리 생명이 개선되고
앱의 최신성도 향상시켜줍니다
그리고 동기화할 데이터가 있을 때
클라이언트에 알리는 일을 서버에게 맡길 수 있죠
이러한 알림은
새로운 데이터가 있거나
다운로드가 필요하다고 앱에 알려
Sync Adapter를 발동시키는 단순한 메시지일 수도 있고
메시지 유효하중 내에
그 새로운 데이터를 포함시켜 보내는 방법도 있습니다
Sunshine 예제에서 우리는
외부 서버를 이용할 것입니다
그렇다고 해도
변경점을 발견할 시
소스를 끌어오고 설치된 앱 인스턴스에 알리는
중간 단계를 만드는 것이 좋을 수 있어요
이 강좌에서는 서버를 설치하지는 않을 거에요
구글 클라우드 메시징에 대해
더 자세히 알아보시려면
강사노트에 링크된 개발자 가이드를 참고하세요
Alarmes de repetição inexatos.
Infinitamente melhores que
alarmes de repetição exatos,
mas ainda longe do ideal.
O problema com qualquer tipo
de alarme de repetição
é que ele continua buscando
atualizações no servidor.
Quanto mais frequente a busca,
mais atuais os dados que podem ser exibidos,
mas maior o custo em vida da bateria.
Você pode buscar com uma frequência
que conserve a bateria,
mas isso fará com que
seu conteúdo fique parado
por mais tempo.
Você pode deixar o usuário decidir
a frequência de atualização,
mas a magia se perde.
Se ao menos houvesse um jeito melhor.
Algo assim é possível?
Sim, é.
O Google Cloud Messaging
permite que o servidor notifique o aplicativo
diretamente quando houver dados prontos
para download.
Ou pode até mesmo
incluir novos dados
na carga de mensagens.
Com o Google Cloud Messaging
você pode enviar mensagens de
seu servidor para qualquer instância instalada
de seu aplicativo via Google Cloud.
Como resultado, você pode parar a sondagem,
o que imediatamente
aumentará a vida da bateria
e manterá o
aplicativo atualizado.
E assim, confia no servidor
para notificar clientes quando
houver dados a sincronizar.
Essas mensagens podem ser simples tickles,
que acional um adaptador de sincronização
notificando seu aplicativo
de que há novos dados
ou necessidade de download.
Ou você pode incluir os novos dados
na carga de mensagens.
No exemplo do Sunshine,
usamos o servidor de outra pessoa.
Mas mesmo assim,
faz sentido criar
sua camada intermediária
que sonda a fonte
e notifica as instâncias instaladas do aplicativo
quando nota uma alteração.
Não vamos configurar
um servidor nessa lição,
mas você pode ver todos os detalhes
sobre o uso do Google Cloud Messaging
no guia do desenvolvedor
vinculado às notas do instrutor.
Неточные повторяющиеся оповещения.
Бесконечно лучше, чем точные
повторяющиеся оповещения, но всё равно
далеки от идеала. Проблема с любым
видом повторяющегося оповещения
состоит в том, что они всё равно
запрашивают ваш сервис проверить
на наличие обновлений.
Поэтому, чем чаще вы делаете запрос,
тем свежее отображающиеся данные,
но также тем ниже время работы
батареи. Вы можете извлекать данные
реже для сохранения заряда батареи,
но это означает, что информация дольше
остаётся устарелой. Можно позволить
пользователю решить частоту обновлений
самостоятельно, но тогда вы теряете
магию. Если бы только был
вариант получше. Возможно ли такое?
Да.
Система оповещений Google Cloud Messaging
позволяет вашему серверу оповещать
ваше приложение напрямую, когда есть
информация для загрузки. Или она
может уже вмещать новую информацию
в тексте содержательного сообщения.
Используя Google Cloud Messaging, вы
можете отправлять сообщения с вашего
сервера любой копии вашего установленого
приложения с помощью Google Cloud.
В результате вы можете
прекратить поллинг,
что немедленно повысит
время работы батареи
и актуальность вашего приложения.
Взамен положитесь на ваш сервер
для уведомления клиентов, когда необходимо
синхронизировать данные.
Такие сообщения могут быть просто
лёгким раздражителем,
который активировал бы
адаптер синхронизации,
оповещая ваше приложение
о новых данных для загрузки.
Или можно включить новые данные
в текст содержательного сообщения.
На примере Sunshine,
мы используем чей-то сервер.
Но даже в этом случае, имеет смысл создать
ваше собственное среднее звено, которое
запрашивает источник и уведомляет копии
вашего установленного приложения, когда
оно заприметит изменение. В этом уроке
мы не будем создавать сервер, ознакомьтесь
со всеми деталями по использованию
Google Cloud Messaging в руководстве
разработчика на обучающих ресурсах.
Báo thức lặp lại không chính xác.
vẫn tốt hơn rất nhiều hơn là báo thức lặp lại chính xác,
nhưng vẫn còn xa từ ý tưởng.
Vấn đề với bất kỳ loại repeating alarm mào
là nó vẫn kéo từ server về để kiểm tra cập nhật.
Nên bạn càng lấy về thường xuyên, thì data bạn có thể hiển thị sẽ mới hơn
nhưng phải trả giá đắt với thời lượng pin.
Bạn có thể lấy không thường xuyên để tiếp kiệm pin
nhưng đó nghĩa là nội dung của bạn sẽ bị cũ
lâu hơn.
Bạn chỉ nên để người dùng tự quyết định
tần suất update cho bản thân họ,
nhưng như thế thì bạn lại mất đi "ma thuật".
Có cách nào tốt hơn không.
Một điều như vậy có thể không?
Có đó.
Google cloud messaging để server của bạn thông báo tới app
trực tiếp khi data ở đó sẵn sàng để được download.
Hay nó thậm chí có thể bao gồm data mới
trong bản thân message.
Sử dụng Google Cloud Messaging, bạn có thể gửi tin nhắn từ server
tới bất kỳ thực thể của app bạn đã được cài
thông qua Google Cloud.
Và kết quả, bạn có thể ngừng việc polling,
nó sẽ ngay lập tức cải thiện thời lượng pin
và cũng cải thiện sự mới mẻ của app bạn.
Và thay vì, dựa vào server
thông báo tới cilents khi nào có data để sync.
Những messages này có thể đơn giản kích thích,
nó kích hoạt sync adapter bằng cách thông báo với app của bạn
rằng có data mới cần để download.
Hoặc bạn có thể cho data mới vào trong message đó luôn.
Trong sunshine example, ta sử dụng sever của một người khác.
Nhưng thậm chí sau này, nó có thể có ý nghĩa để tự tạo
lớp giữa cho riêng bạn mà lấy nguồn
và thông báo cho app của bạn
khi nó nhận thấy một sự thay đổi.
Giờ ta sẽ không set up một server trong bài này,
nhưng bạn có thể xem chi tiết
về vụ sử dụng Google Cloud Messaging
từ developer guide được link ở instructor notes.
不精确的重复警报要比
精确的重复警报好无数倍
但还是很不理想
所有重复警报都存在一个问题
那就是轮询服务器来检查是否有更新
因此进行轮询的频率越高 所显示的数据越新
但耗电量也越高
你可以减少轮询来节约电量
但这样也意味着 内容会长时间
得不到更新
你可以让用户自行决定
更新频率
但这样就失去了魅力
真希望有个更好的方法
有吗?有!
Google 云消息传递会在有可下载的数据时
直接让服务器通知应用
它甚至还可以直接将新数据
纳入消息负载
利用 Google 云消息传递 你可以通过 Google Cloud
将消息从服务器
发送至任意已安装的应用实例
如此一来 你就可以停止轮询
这样不但可以立即延长电池寿命
还可以改善应用时效性
相反 我们依靠服务器
通知客户端有可供同步的数据
这些消息可能是简单的信号
通知应用有新数据
或数据需要下载 并触发 SyncAdapter
或者可以将新数据纳入消息负载
在 Sunshine 示例中 我们使用他人的服务器
但即使如此 也应该创建自己的中间层
以便在发现变更时
提取来源并通知
安装的应用实例
我们不会在本课设置服务器
但大家可以在讲师备注链接到的
开发者指南中详细了解
有关使用 Google 云消息传递的完整详情