Ringkasan
Class bantuan untuk membuka container.
Ini adalah wrapper di sekitar metode openContainerById:callback: (TAGManager) untuk pemanggil yang memberikan dukungan untuk waktu tunggu.
Berikut adalah contoh yang menunjukkan waktu menunggu hingga 0,1 detik hingga penampung dimuat sebelum kembali ke penampung default:
NSTimeInterval timeout = 0.1;
TagManager *tagManager = [TagManager instance];
TAGContainerFuture *future =
[TAGContainerOpener openContainerWithId:@"GTM-XXXX"
tagManager:tagManager
openType:kTAGOpenTypePreferNonDefault
timeout:&timeout];
TAGContainer *container = [future get];
Jika pemanggil ingin diberi tahu secara asinkron saat penampung tersedia, tetapi ingin menentukan waktu tunggu secara manual menjadi 0,5 detik, pemanggil harus membuat subclass TAGContainerOpenerNotifier, membuat panggilan ke openContainerWithId:tagManager:openType:timeout:notifier: (TAGContainerOpener) dengan waktu tunggu ditetapkan ke 0,5, dan menambahkan penerapan tersebut ke notifikasi containerAvailable: (TAGContainerOpenerNotifier untuk containerAvailable)
Fungsi Anggota Publik Statis | |
| (id< TAGContainerFuture >) | + openContainerWithId:tagManager:openType:timeout: |
Menunggu hingga timeout detik agar penampung dimuat (non-default atau baru, bergantung pada openType yang ditentukan) dan menampilkan TAGContainerFuture. | |
| (kosong) | + openContainerWithId:tagManager:openType:timeout:notifier: |
Menunggu hingga timeout detik agar penampung dimuat (non-default atau baru, bergantung pada openType yang ditentukan) dan memanggil pemberitahu saat penampung tersedia. | |
| (NSTimeInterval) | + defaultTimeout |
| Menampilkan waktu tunggu default untuk meminta penampung. | |
Dokumentasi Fungsi Anggota
| + (id<TAGContainerFuture>) openContainerWithId: | (NSString *) | containerId | |
| TagManager: | (TAGManager *) | tagManager | |
| openType: | (TAGOpenType) | openType | |
| waktu tunggu: | (NSTimeInterval *) | waktu tunggu | |
Menunggu hingga timeout detik agar penampung dimuat (non-default atau baru, bergantung pada openType yang ditentukan) dan menampilkan TAGContainerFuture.
Jika jenis yang dibuka adalah kTAGOpenTypePreferNonDefault, penampung non-default (disimpan atau diambil dari jaringan) akan dimuat dan TAGContainerFuture dibatalkan pemblokirannya segera setelah salah satu hal berikut terjadi:
- kontainer tersimpan dimuat.
- jika tidak ada penampung tersimpan, penampung jaringan dimuat atau terjadi error jaringan.
- timer berakhir.
Jika terjadi error jaringan atau timer berakhir, get (TAGContainerFuture-p) dapat menampilkan penampung default.
Jika jenis yang dibuka adalah kTAGOpenTypePreferFresh, penampung baru (disimpan atau diambil dari jaringan) akan dimuat dan TAGContainerFuture dibatalkan pemblokirannya segera setelah salah satu hal berikut terjadi:
- kontainer baru tersimpan dimuat.
- jika tidak ada penampung tersimpan atau penampung tersimpan sudah usang, penampung jaringan dimuat atau terjadi error jaringan.
- timer berakhir.
Jika terjadi error jaringan atau timer berakhir, get (TAGContainerFuture-p) mungkin berisi setelan default atau penampung tersimpan yang tidak berlaku.
Jika Anda memanggil salah satu metode openContainer untuk kedua kalinya dengan containerId tertentu, TAGContainerFuture akan ditampilkan yang get (TAGContainerFuture-p) akan menampilkan penampung yang sama seperti yang dilakukan pada panggilan pertama.
- Parameter:
-
ID penampung ID penampung yang akan dimuat. tagManager TAGManager untuk mendapatkan penampung. timeout Jumlah detik maksimum untuk menunggu untuk memuat penampung dari penyimpanan tersimpan. Jika tidak ada, defaultTimeout akan digunakan. openType Pilihan cara membuka penampung.
- Hasil:
- TAGContainerFuture yang akan menunggu hingga
timeoutdan menampilkan penampung jika sudah tersedia.
| + (void) openContainerWithId: | (NSString *) | containerId | |
| TagManager: | (TAGManager *) | tagManager | |
| openType: | (TAGOpenType) | openType | |
| waktu tunggu: | (NSTimeInterval *) | waktu tunggu | |
| pengirim: | (id< TAGContainerOpenerNotifier >) | pemberitahu | |
Menunggu hingga timeout detik agar penampung dimuat (non-default atau baru, bergantung pada openType yang ditentukan) dan memanggil pemberitahu saat penampung tersedia.
Jika jenis yang dibuka adalah kTAGOpenTypePreferNonDefault, penampung non-default (disimpan atau diambil dari jaringan) akan dimuat dan diteruskan ke pengirim. Pemberitahu dipanggil segera setelah salah satu hal berikut terjadi:
- kontainer tersimpan dimuat.
- jika tidak ada penampung tersimpan, penampung jaringan dimuat atau terjadi error jaringan.
- timer berakhir.
Jika terjadi error jaringan atau masa berlaku timer habis, penampung yang diteruskan ke pengirim adalah penampung default.
Jika jenis yang dibuka adalah kTAGOpenTypePreferFresh, penampung baru (disimpan atau diambil dari jaringan) akan dimuat dan diteruskan ke pengirim. Pemberitahu dipanggil segera setelah salah satu hal berikut terjadi:
- kontainer baru tersimpan dimuat.
- jika tidak ada penampung tersimpan atau penampung tersimpan sudah usang, penampung jaringan dimuat atau terjadi error jaringan.
- timer berakhir.
Jika terjadi error jaringan atau masa berlaku timer telah berakhir, penampung yang diteruskan ke pengirim notifikasi mungkin berisi setelan default atau penampung tersimpan yang sudah tidak berlaku.
Jika Anda memanggil salah satu metode openContainer untuk kedua kalinya dengan containerId tertentu, penampung yang sama yang ditampilkan dari panggilan sebelumnya akan diteruskan ke pengirim segera setelah tersedia.
- Parameter:
-
ID penampung ID penampung yang akan dimuat. tagManager TAGManager digunakan untuk mendapatkan penampung. openType Pilihan cara membuka penampung. timeout Jumlah detik maksimum untuk menunggu untuk memuat penampung dari penyimpanan tersimpan. Jika tidak ada, defaultTimeout akan digunakan. pemberi notifikasi Pemberi tahu opsional yang akan dipanggil saat penampung tersedia. Fungsi ini akan dipanggil dengan container baru, jika tersedia dan dimuat sebelum waktu tunggu; jika tidak, sistem akan dipanggil dengan kontainer yang tidak baru. Perhatikan bahwa pemberi notifikasi dapat dipanggil dari thread lain.
| + (NSTimeInterval) defaultTimeout |
Menampilkan waktu tunggu default untuk meminta penampung.
- Hasil:
- Waktu tunggu default dalam detik.