有一個需求,是仿企業(yè)照微信的多選(效果大家自己去看)。我想到了兩種方案:
在南鄭等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網(wǎng)站建設、成都網(wǎng)站設計 網(wǎng)站設計制作定制網(wǎng)站,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,成都品牌網(wǎng)站建設,成都營銷網(wǎng)站建設,外貿網(wǎng)站建設,南鄭網(wǎng)站建設費用合理。
思路:我們直接通過listview.builder是沒辦法自定義SliverChildBuilderDelegate,我們可以通過listview.custom來自定義SliverChildBuilderDelegate,通過自定義我們可以重寫didFinishLayout方法,拿到里面緩存的第一個item和最后一個item??梢奿tem的跟緩存item是差5個的,可以間接算出來,后面發(fā)現(xiàn)其實不太行,上下滑動之后會顯示之前滑動時候的可見位置。 正解是:這個里面還有個estimateMaxScrollOffset方法,正常來說通過它可以獲取到可見的第一個和最后一個item位置。但是我一開始使用這個方法,不會被回調,后面不知道修改了什么,就會回調,然后這個位置是準確的。
看下listview.builder的源碼
我們可以看到childrenDelegate是直接定義好了的。
在看看listview.custom 的源碼
childrenDelegate這個是一個必傳參數(shù)。
針對日常不同的需求,我們時常需要自定義 Dialog ,而小菜在嘗試過程中遇到一些小問題,簡單記錄總結一下;
小菜在自定義含有文本框的 Dialog 時,文本框獲取焦點時,軟鍵盤會部分遮擋對話框,但當小菜替換為 AlertDialog 時,文本框獲取焦點時,對話框會向上浮動,避免軟鍵盤遮擋;
對于含有文本框的自定義 Dialog ,小菜在最外層使用的是 Material 嵌套,小菜通過采用 Scaffold 來嵌套處理,默認 Scaffold 中 resizeToAvoidBottomPadding / resizeToAvoidBottomInset 為 true ,當設置為 false 時,文本框獲取焦點時,依舊會被軟鍵盤遮擋;因為在固定情景可以配合 resizeToAvoidBottomPadding 實現(xiàn)是否被軟鍵盤遮擋效果;
resizeToAvoidBottomPadding 主要用于自身 Widget 是否避免被其他窗口遮擋;其中小菜查資料介紹在 Flutter 1.1.9 之后更推薦使用 resizeToAvoidBottomInset ;
小菜自定義一個可以多選 item 的 Dialog ,但 Dialog 中并沒有狀態(tài)更新的 State ,如何進行 Dialog 中狀態(tài)更新呢?
小菜之前在 showDialog 時直接創(chuàng)建了 TypeListDialog ,此時是無狀態(tài)的,當 WidgetBuilder 創(chuàng)建一個 StatefulBuilder 有狀態(tài)的構造器即可,可以將 state 傳遞到 Dialog 中;
小菜在自定義 Dialog 時如何在一個回調方法中傳遞多個參數(shù)?
小菜在 Dialog 的回調方法中傳遞兩個 List ,而在接收回調方法中匹配兩個參數(shù)即可;小菜簡單看作是一個函數(shù)方法;
小菜在重寫 AppBar 時,如何取消默認的返回按鈕?
取消 AppBar 前面的返回圖標有多種方式;
自定義 Dialog 案例源碼
小菜對于 Flutter 的應用還不夠熟悉,很多常用的場景會處理的很不到位,小菜會對日常的小問題進行簡單記錄,逐步學習;如有錯誤,請多多指導!
點擊 “協(xié)議、稅務和銀行業(yè)務”
內購用的是付費應用程序,先簽署《付費應用程序協(xié)議》,同意后狀態(tài)變更為“用戶信息待處理”,等待審核。
狀態(tài)更改完畢后,點擊“開始設置稅務、銀行業(yè)務和聯(lián)系信息”。
(1)添加銀行賬戶,按照要求填寫相關內容即可。
(2)選擇報稅表,并填寫。所有與 Apple 有商業(yè)合作者必選都是美國,若有其他需求,可以多選。
繼續(xù)填寫,首先認證公司基本信息,選擇所有人類型,確認無誤后認證條款處打對勾
Part I 部分,繼續(xù)核對公司相關信息,選填內容可不填。
Part III 部分,簽署稅務條約,設置利益限制條款的種類,選填內容可不填。此部分如果需要可勾選上下圖勾選框,不需要可不勾選,我們這個項目沒有用到part III 部分,所以沒有勾選。
Part XXX 部分,確認之前填寫的信息,勾選完畢后,提交
(3)填寫聯(lián)系信息,共5個。高級管理、財務、技術、法務、營銷。只需要提供5個人的基本信息即可。
只可使用一次的產(chǎn)品,使用之后即失效,必須再次購買。
示例: 釣魚 App 中的魚食。
只需購買一次,不會過期或隨著使用而減少的產(chǎn)品。
示例: 游戲 App 的賽道。
允許用戶在固定時間段內購買動態(tài)內容的產(chǎn)品。除非用戶選擇取消,否則此類訂閱會自動續(xù)期。
示例: 每月訂閱提供流媒體服務的 App。
允許用戶購買有時限性服務的產(chǎn)品。此 App 內購買項目的內容可以是靜態(tài)的。此類訂閱不會自動續(xù)期。
示例: 為期一年的已歸檔文章目錄訂閱。
App 內購買項目的截屏,即所售項目的示意圖。例如,如果 App 內購買項目是一本圖書,您可以提交圖書的截屏。您也可以提交購買頁的截屏。該截屏僅用于 Apple 審核,不會在 App Store 中顯示。
截屏要求如下:
iOS 至少需要 640 x 920 像素
Apple tvOS 需要 1920 x 1080 像素
macOS 需要 1280 x 800 像素
App 審核圖像上傳后,可以替換,但無法移除。當您的 App 內購買項目處于審核中時,您無法更新截屏。
沙箱賬號是不能直接在App Store進行登錄的,只能在點擊了購買商品之后,在彈出的登錄框進行登錄 。
驗證是否已登錄沙箱測試賬號:
設置--iTunes Store與App Store,頁面拉到最底部,會看到沙箱賬戶項會列出你已登錄的沙箱測試賬號!
操作方法一:打開App Store應用首頁滑到最下方--選中AppleID--注銷
操作方法二:設置--iTunes Store與App Store--選中AppleID--注銷
checks if the client can make payments(檢測App是否能支付)
getAvailablePurchases
Get all non-consumed purchases 獲取未消費的商品
打印信息查詢;
原因:
沒有先執(zhí)行getProducts,直接執(zhí)行requestPurchase方法,要先拉取商品列表,再執(zhí)行購買操作.
問題描述;
1.漏單必須要處理,玩家花RMB購買的東西卻丟失了,是絕對不能容忍的。所謂的漏單就是玩家已經(jīng)正常付費,卻沒有拿到該拿的道具。
解決:只要購買成功,便將購買記錄(receipt等賬單信息)保存下來,然后將賬單信息傳送給我們游戲服務器,游戲服務器獲得賬單后,和蘋果服務器驗證,賬單有效的話,回饋給游戲服務器處理,游戲服務器處理后,返回給游戲客戶端處理,處理完畢,將本地保存的購買記錄刪除。
官方文檔:向蘋果校驗支付憑證
21000 App Store無法讀取你提供的JSON數(shù)據(jù)
21002 收據(jù)數(shù)據(jù)不符合格式
21003 收據(jù)無法被驗證
21004 你提供的共享密鑰和賬戶的共享密鑰不一致
21005 收據(jù)服務器當前不可用
21006 收據(jù)是有效的,但訂閱服務已經(jīng)過期。當收到這個信息時,解碼后的收據(jù)信息也包含在返回內容中
21007 收據(jù)信息是測試用(sandbox),但卻被發(fā)送到產(chǎn)品環(huán)境中驗證 【請求sandbox校驗支付憑證】
21008 收據(jù)信息是產(chǎn)品環(huán)境中使用,但卻被發(fā)送到測試環(huán)境中驗證
消耗類型: 例如:金幣、道具等。
非續(xù)訂訂閱: non-renewable subscription 例如:VIP
您的首個 App 內購買項目必須以新的 App 版本提交。請創(chuàng)建您的 App 內購買項目,然后前往 App 的“App Store”頁,從“App 內購買項目”中進行選擇,點按“提交”。 了解更多
在上傳二進制文件并提交首個 App 內購買項目以供審核后,您可以使用下表提交其他 App 內購買項目。
唐巧-iOS應用內付費(IAP)開發(fā)步驟列表
未完~待續(xù)
當使用內購購買過商品之后沒有把這個交易關閉,所以再次去購買商品后就會調用以前已經(jīng)購買成功的交易去購買因為已經(jīng)購買過,才會有這個提示
原因:添加內購項目時,信息填寫不完整,app審核圖像未上傳
處理方法:上傳app審核圖片( 合適的尺寸 ),點擊提交,狀態(tài)改為正在準備審核中。
這個是內購選擇類型不匹配原因導致。
購買成功之后,Apple會返回以下四個數(shù)據(jù)給應用
Reference
Review the updated Paid Applications Schedule.
游客身份解決方案:即不登錄也要能購買
1)服務器端做一個蘋果審核機制,審核期間游客身份可以進行一切行為,一旦審核通過,修改服務端即可達到強制用戶登錄進行內購買的目的(這個有點。。。)
2)游客可以進行內購買,購買時以設備UUID為準,生成一個游客賬號,將購買信息保存在服務器和本地,當用戶登錄正式賬戶后判斷此設備是否進行過內購,有的話提示用戶將游客身份購買的權益與現(xiàn)有賬號綁定,如果綁定,游客權益則遷移到正式賬戶,如果不遷移,則游客身份和正是賬戶是兩個獨立賬戶,正式賬戶不享有游客身份的權益(我用的這個)
內購游客模式解決方案
iOS內購規(guī)則
????????Flutter日歷插件,支持自定義日歷,月視圖/周視圖切換、點擊攔截、單選(切換月自動選)、多選(散選/聚選)
.----------------------------------------------
| github地址:
|
| pub地址:
|
| apk體驗:
|
`----------------------------------------------