Ceasefire announced more than two hours later than scheduled due to Israel-Hamas dispute over naming captives.